【问题标题】:If value is Selected yes, Then I need to show 3rd dropdown otherwise 3rd dropdown should hide如果值选择是,那么我需要显示第三个下拉菜单,否则第三个下拉菜单应该隐藏
【发布时间】:2019-09-25 09:00:49
【问题描述】:

我有三个下拉字段,如果你点击,你会得到两个选项。 对于第二个下拉菜单,如果我选择选项是,我需要隐藏第三个下拉菜单。 我怎么能在 Angular-Material 中做到这一点,如果我在“mat-select”上使用 ngModel 它不起作用 任何人都可以帮助我吗? 提前谢谢..

<div class="space">
<mat-form-field>
  <mat-label>Is this partner a PEP?</mat-label>
  <mat-select disableRipple>
    <mat-option value=""></mat-option>
    <mat-option value="1">Yes</mat-option>
    <mat-option value="2">No</mat-option>
  </mat-select>
</mat-form-field>

<mat-form-field>
  <mat-label>Does this partner blacklisted</mat-label>
  <mat-select disableRipple >
    <mat-option value=""></mat-option>
    <mat-option value="1">Yes</mat-option>
    <mat-option value="2">No</mat-option>
  </mat-select>
</mat-form-field>

<mat-form-field>
  <mat-label>Blacklist Name(s)</mat-label>
  <mat-select>
   </mat-select>
</mat-form-field>
</div>

【问题讨论】:

    标签: angular angular-material


    【解决方案1】:

    您必须像这样使用value 而不是ngModel

    HTML:

    <mat-form-field>
      <mat-label>Is this partner a PEP?</mat-label>
      <mat-select disableRipple>
        <mat-option value="1">Yes</mat-option>
        <mat-option value="2">No</mat-option>
      </mat-select>
    </mat-form-field>
    <mat-form-field>
      <mat-label>Does this partner blacklisted</mat-label>
      <mat-select disableRipple [(value)]="selected">
        <mat-option value="1">Yes</mat-option>
        <mat-option value="2">No</mat-option>
      </mat-select>
    </mat-form-field>
    <mat-form-field *ngIf="selected == 1">
      <mat-label>Blacklist Name(s)</mat-label>
      <mat-select>
       </mat-select>
    </mat-form-field>
    

    TS:

    export class SelectValueBindingExample {
      selected = '1';
    }
    

    StackBlitz

    【讨论】:

    • 感谢您的回复..这正是我想要的...但我需要第二个下拉菜单,如果我选择是,那么第三个下拉菜单应该隐藏...您能否更改上面的代码满足我的要求....在此先感谢
    • 它工作正常.. 但是我怎样才能在一行中表示它们??
    【解决方案2】:

    你可以使用 Template Reference variable 来代替它

      <mat-select disableRipple #second>
        <mat-option value=""></mat-option>
        <mat-option value="1">Yes</mat-option>
        <mat-option value="2">No</mat-option>
      </mat-select>
      <mat-select *ngIf="second.value != 1">
         <mat-option value=""></mat-option>
       </mat-select>
    

    STACKBLITZ

    【讨论】:

    • ...感谢您的回复...但是如果我选择“是”,则不会采用下拉值“是”
    • @sundeep:你确定你在第二个下拉列表中使用了#second 模板变量吗,因为它在我的最后工作得很好
    猜你喜欢
    • 2020-01-25
    • 1970-01-01
    • 2021-03-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多