Angular5中提取公共组件之radio list的实例代码


Posted in Javascript onJuly 10, 2018

本文给大家说一下Radio List的公共组件提取。

Radio List组件提取起来很方便,不想Checkbox那么复杂。

radio-list.component.ts

import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { RadioItem } from '../../model/radio';
import { NgModel } from '@angular/forms';
@Component({
  selector: 'app-radio-list',
  templateUrl: './radio-list.component.html',
  styleUrls: ['./radio-list.component.css']
})
export class RadioListComponent implements OnInit {
  @Input() list: RadioItem[];
  @Input() name: string;
  @Input() colNum: number = 6;
  @Input("selectModel") model: string;
  @Output("selectChange") onChange: EventEmitter<any> = new EventEmitter<any>();
  constructor() { }
  ngOnInit() {
  }
  changeSelected() {
    let data = { value: this.model, name: this.name };
    this.onChange.emit(data);
  }
}

radio-list.component.html

<div *ngIf="list" class="form-row">
  <div class="col-{{colNum}} mb-2" *ngFor="let item of list">
    <div class="form-check abc-radio abc-radio-primary">
      <input class="form-check-input" type="radio" [value]="item.id" [(ngModel)]="model" (change)="changeSelected()" name="{{name}}" id="{{name}}_{{item.id}}">
      <label class="form-check-label" for="{{name}}_{{item.id}}">
        {{item.name}}
      </label>
    </div>
  </div>
</div>

在相关引用的module中注册

import { RadioListComponent } from '../components/radio-list/radio-list.component';
export const routes = [
  { path: '', component: xxxComponent, pathMatch: 'full' }
];
@NgModule({
  imports: [...],
  declarations: [...
    , RadioListComponent
    , ...],
  providers: []
})
export class xxxModule {
  static routes = routes;
}

对应的html中引用如下:

<app-radio-list [list]="sourceArr"
         [name]="'selectedSource'"
         [colNum]="12"
        [(selectModel)]="selectedSource"
        (selectChange)="selectChange($event)">
 </app-radio-list>

按照如上步骤,还缺少对应的selectChange($event):

selectChange(model: any) {
   this[model.name] = model.value;
 }

总结

以上所述是小编给大家介绍的Angular5中提取公共组件之radio list的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
xmlHTTP实例
Oct 24 Javascript
JavaScript的面向对象(一)
Nov 09 Javascript
js中匿名函数的N种写法
Sep 08 Javascript
jQuery函数的等价原生函数代码示例
May 27 Javascript
js限制文本框的输入内容代码分享(3类)
Aug 20 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
Oct 08 Javascript
Javascript发送AJAX请求实例代码
Aug 21 Javascript
jQuery实现模拟flash头像裁切上传功能示例
Dec 11 Javascript
解决webpack -p压缩打包react报语法错误的方法
Jul 03 Javascript
基于游标的分页接口实现代码示例
Nov 12 Javascript
Vue的props父传子的示例代码
May 20 Javascript
js实现星星海特效的示例
Sep 28 Javascript
ng-alain表单使用方式详解
Jul 10 #Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 #Javascript
React之PureComponent的使用作用
Jul 10 #Javascript
详解在React.js中使用PureComponent的重要性和使用方式
Jul 10 #Javascript
echarts整合多个类似option的方法实例
Jul 10 #Javascript
详解使用Next.js构建服务端渲染应用
Jul 10 #Javascript
node.js中TCP Socket多进程间的消息推送示例详解
Jul 10 #Javascript
You might like
很温暖很温暖的Lester Young
2021/03/03 冲泡冲煮
php使用GeoIP库实例
2014/06/27 PHP
php+mysql实现数据库随机重排实例
2014/10/17 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
php实现的http请求封装示例
2016/11/08 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
2018/09/18 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
解决layui laydate 时间控件一闪而过的问题
2019/09/28 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
Python实现决策树C4.5算法的示例
2018/05/30 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
使用html5制作loading图的示例
2014/04/14 HTML / CSS
澳大利亚波西米亚风连衣裙在线商店:Fortunate One
2019/04/01 全球购物
十佳青年个人事迹材料
2014/01/28 职场文书
医药个人求职信范文
2014/01/29 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
MySQL连接控制插件介绍
2021/09/25 MySQL
create-react-app开发常用配置教程
2022/06/25 Javascript