我想创建一个自定义的InputCustom
组件,并使用它创建模型驱动的表单。将angular2表单指令应用于自定义输入表单元素
我的自定义组件只是对输入字段进行换行,并将Bootstrap material design
用于look'n'feel。
@Component({
selector:'inputCustom',
template:`
<div class="form-group label-floating is-empty">
<label class="control-label" for="input">Type here</label>
<input class="form-control" id="input" type="text">
<p class="help-block">Some help text</p>
<span class="material-input"></span>
</div>
`})
class InputCustom{....}
在Angular2当你创建一个模型驱动的形式
<form [ngFormModel]="formRef">
<input type ="email" ngControl="email">
</form>
所有Controls
出现在表单元素被注册到一个ControlGroup
。通过使用formRef您可以跟踪控制器内的字段值。
@Component({...})
class FormController{
formRef: ControlGroup;
constructor(...){
this.form.valueChanges.subscribe(data => console.log('changes', data));
}
}
现在,我希望人们能使用我的组件这样
<form [ngFormModel]="formRef">
<inputCustom type ="email" ngControl="email">
</form>
Q1:我是否需要写我自己的自定义ngControl
指令?
问题2:如何传播ngControl
到内部<input>
元素包装<inputCustom>
?
问题3:我应该如何在周围表格ControlGroup
内注册我的Control
?
这曾经是角1.x中soooooo简单,所以现在的痛苦:( – ct5845