根据用户偏好禁用表单字段

时间:2019-11-20 02:33:47

标签: angular angular-material

i具有带垫子输入和垫子下拉菜单的棱角材料形式。如果用户填充输入,我希望禁用下拉列表,或者如果用户填充下拉列表,我希望禁用输入字段。我知道ngmodeloption中有一个[disabled]属性,但我没有正确使用它。有谁能让我知道我要去哪里错了,这是代码:

<mat-form-field>
        <input matInput [(ngModel)]="info.dao">
    </mat-form-field>
    <mat-form-field class="example-full-width ">
        <mat-label>Select Person</mat-label>
        <mat-select  [ngModelOptions]=
            [(ngModel)]="info.selectionPerson">
            <mat-option *ngFor="let info of info.comp" [value]="comp.id">
                {{comp.location}}
            </mat-option>
        </mat-select>
    </mat-form-field>

1 个答案:

答案 0 :(得分:1)

您可以简单地使用[disabled]属性并传递类似以下内容的表达式:

<mat-form-field>
    <input matInput [(ngModel)]="info.dao" [disabled]="info.selectionPerson">
</mat-form-field>

<mat-form-field class="example-full-width ">
    <mat-label>Select Person</mat-label>
    <mat-select [disabled]="info.dao"
        [(ngModel)]="info.selectionPerson">
        <mat-option *ngFor="let info of info.comp" [value]="comp.id">
            {{comp.location}}
        </mat-option>
    </mat-select>
</mat-form-field>

您不需要ngModelOptions即可实现。