如何编写一个完整的Angular4FormText组件
本文主要介绍了如何编写一个完整的Angular4 FormText 组件,分享给大家,也给自己留个笔记

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了绍兴免费建站欢迎大家使用!
组件定义
import { Component, Output, Input, forwardRef, EventEmitter} from '@angular/core';
import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';
@Component({
selector: 'form-text',
template: `
`,
providers: [
{
provide:NG_VALUE_ACCESSOR,
useExisting:forwardRef(()=>FormTextComponent),
multi:true
}
]
})
export class FormTextComponent implements ControlValueAccessor {
@Input() label:string = '';
@Input() placeholder: string='';
@Output() onChange: EventEmitter = new EventEmitter();
public innerValue: any;
public changeFn: Function = () => {};
get value(): any {
return this.innerValue;
};
set value(v: any) {
if (v !== this.innerValue) {
this.innerValue = v;
this.changeFn(v);
}
}
writeValue(value: any) {
if (value !== this.innerValue) {
this.innerValue = value;
}
}
registerOnChange(fn: any) {
this.changeFn = fn;
}
registerOnTouched(fn: any) {
//
}
}
组件使用
{{mobile}}
需要注意的点:
1.需要配置组件的providers
2.需要实现ControlValueAccessor接口
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
本文名称:如何编写一个完整的Angular4FormText组件
文章路径:http://www.jxjierui.cn/article/ipdphc.html


咨询
建站咨询
