如何编写一个完整的Angular4 FormText 组件

如何编写一个完整的Angular4 FormText 组件

本篇文章主要介绍了如何编写一个完整的Angular4 FormText 组件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文主要介绍了如何编写一个完整的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接口

以上就是如何编写一个完整的Angular4 FormText 组件的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读