2017-07-18 109 views
0
<select class="select-sm form-control staffPatient" [(ngModel)]="personType"> 
          <option value="staff" selected="true">Staff</option> 
          <option value="patient">Patient</option> 
          </select> 

根据选择我需要显示字段。根据Angular 2中的下拉选择选择输入类型

如果是工作人员,这将显示

<p-autoComplete [hidden]="personType != staff" [(ngModel)]="val" [suggestions]="staffInfoList" field="perscode" field="personName" [minLength]=4 
            (onSelect)="setPersonInvolved($event)" 
            (completeMethod)="getPersonalMast($event)" [ngModelOptions]="{standalone: true}"></p-autoComplete> 

如果是病人,这将显示

<input [hidden]="personType != patient" type="text" required="" class="form-control search" (keyup.enter)="getPatientInfo($event)" > 

写的代码[隐藏],但不工作。 2.试了选择=“真”,使员工为默认的下拉,但在下拉默认即将空

+0

尝试'this.personType =“staff”'进行初始化。 – SaiUnique

+1

试试这个:'[hidden] =“personType!='patient'”'。尽量将患者/工作人员用作字符串。 –

+0

[hidden] =“personType!='耐心'” - 不工作 – user630209

回答

-1
<select class="select-sm form-control staffPatient" #personType (change)='onChange(personType.value)'> 
         <option value="staff" selected="true">Staff</option> 
         <option value="patient">Patient</option> 
         </select> 

然后在你的.ts文件

staff = false; 
patient = false; 
onChange(value) { 
    if (value === 'staff') { 
     this.staff = true; 
    }if (value === 'patient') { 
     this.patient = true; 
    } 
} 

最后

<p-autoComplete *ngIf='staff' [(ngModel)]="val" 
[suggestions]="staffInfoList" field="perscode" field="personName" 
    [minLength]=4 
           (onSelect)="setPersonInvolved($event)" 
           (completeMethod)="getPersonalMast($event)" 
[ngModelOptions]="{standalone: true}"></p-autoComplete> 

而且

<input *ngIf='patient' type="text" required="" class="form- 
control search" (keyup.enter)="getPatientInfo($event)" >