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 相关文章推荐
检测是否已安装 .NET Framework 3.5的js脚本
Feb 14 Javascript
document.createElement()用法及注意事项(ff下不兼容)
Mar 13 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
Apr 22 Javascript
jquery获取html元素的绝对位置和相对位置的方法
Jun 20 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
Mar 05 Javascript
jQuery+AJAX实现无刷新下拉加载更多
Jul 03 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
Feb 20 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
Apr 19 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
在vue使用clipboard.js进行一键复制文本的实现示例
Jan 15 Javascript
微信小程序云开发详细教程
May 16 Javascript
JavaScript代码实现简单计算器
Dec 27 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
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
PHP session有效期session.gc_maxlifetime
2011/04/20 PHP
PHP 八种基本的数据类型小结
2011/06/01 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
javascript IFrame 强制刷新代码
2009/07/23 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
js脚本实现数据去重
2014/11/27 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
node.js中 redis 的安装和基本操作示例
2020/02/10 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
11个Python Pandas小技巧让你的工作更高效(附代码实例)
2019/04/30 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
业务代表的岗位职责
2013/11/16 职场文书
硕士研究生自我鉴定范文
2013/12/27 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
工作自我评价怎么写
2014/01/29 职场文书
校本教研活动总结
2014/07/01 职场文书
护理专业自荐信范文
2015/03/06 职场文书
新闻稿格式范文
2015/07/18 职场文书
Python时间操作之pytz模块使用详解
2022/06/14 Python
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python