我在 Angular 2 中制作了一个模型驱动的表单,只有当上面的复选框未选中时,其中一个输入字段才必须显示。我用 *ngIf 做到了这一点。 我的问题是如何设置仅当复选框未选中时才需要的输入?在 Angular 1.x 中,我可以通过 View 中的 ng-required="condition"实现这一点。
这是 html:
//复选框
<div class="checkbox col-sm-9">
<label>
<input type="checkbox" id="getCompanyAddress" style="cursor: pointer;" [formControl]="form.controls['address']" >Use the company address
</label>
</div>
//选项输入:
<div *ngIf="form.value.address == false" class="form-group" [ngClass] = "{'has-error':!form.controls['address'].valid && form.controls['address'].touched}" >
<label for="add_gestion_adress" class="col-sm-3 control-label">Address
</label>
<div class="col-sm-9"><textarea rows="1" id="add_gestion_adress" class="form-control" name="add_gestion_adress" [formControl]="form.controls['address']" ></textarea>
</div>
</div>
//模型代码:
form: FormGroup;
constructor(fb:FormBuilder){
this.form = fb.group({
'name': [null,Validators.compose([Validators.required, Validators.minLength(1)])],
'type': ["en gros",Validators.compose([Validators.required, Validators.minLength(2)])],
'person':[null,Validators.compose([Validators.required, Validators.minLength(1)])],
'address':[false,Validators.compose([Validators.minLength(1)])],
'locality':[null, Validators.compose([Validators.required])],
'county':[null,Validators.compose([Validators.required])],
'country':[null,Validators.compose([Validators.required])]
})
}
最佳答案
<textarea [required]="your angular expression">
以上在最新版本的 Angular 4 中有效
关于angularjs - Angular 2 ng-需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39955807/