我无法在使用Angular 4反应形式中嵌入的选择隐藏和显示控件之间切换。以下显示了问题:https://plnkr.co/edit/s7wYqy3Oa9eGmvOY3sNX?p=preview。如果您选择"名称"选项,地址字段将按预期隐藏。如果您选择"姓名和地址"选项之后,它不会显示。
以下是组件的模板:
<form [formGroup]="myForm" novalidate="">
<div class="form-group">
<label>Choose</label>
<select class="form-control" formControlName="isNameOnly">
<option *ngFor="let option of options" [value]="option.value">
{{option.name}}
</option>
</select>
</div>
<div class="form-group">
<label>Name</label>
<input class="form-control" formControlName="name" />
</div>
<div class="form-group" [hidden]="myForm.controls.isNameOnly.value">
<label>Address</label>
<input class="form-control" formControlName="address" />
</div>
<pre>{{myForm.controls.isNameOnly.value}}</pre>
</form>
以下是组件的定义:
import { Component, Input, OnChanges } from '@angular/core';
import { FormArray, FormBuilder, FormGroup } from '@angular/forms';
@Component({
selector: 'my-form',
templateUrl: './form.component.html'
})
export class MyFormComponent implements OnChanges {
myForm: FormGroup;
options = [
{name: 'Name Only', value: true},
{name: 'Name and Address', value: false}
];
constructor(
private fb: FormBuilder
) {
this.myForm = this.fb.group({
name: '',
address: '',
isNameOnly: false
});
}
ngOnChanges() {}
}
答案 0 :(得分:8)
更新隐藏到以下检查真实字符串
my_cl$Seg<-ifelse(my_cl$predict==0,
'1',
ifelse(my_cl$predict==1, '2','0'))
https://plnkr.co/edit/7ub2fy7CBdBA46i4qkvv?p=preview
我相信[hidden]="myForm.controls.isNameOnly.value == 'true'"
会返回一个字符串,而myForm.controls.isNameOnly.value
会将其作为表达式进行评估,因为“true”或“false”都是非空字符串,所以隐藏总是如此