繁体   English   中英

如何在Angular 4的选择框中隐藏所选的选项文本

[英]How to hide selected option text in select box, Angular 4

我有这个种族下拉列表。 我想要的是,当我选择清晰的种族时,它不应出现在选择框中,而类似框应为空。 我怎样才能做到这一点?

  <select
        #ethnicity
        [(ngModel)]="patient.Ethnicity"
        [class.text-dimmed]="!patient.Ethnicity"
        name="ethnicity"
        id="ethnicity"
        class="form-control input-underline input-lg ml-0">
          <option [ngValue]="null" disabled> Select </option>
          <option [ngValue]="null">Clear ethnicity</option>
          <option  value="Alaska-Native">Alaska Native</option>
          <option value="American-Indian">American-Indian</option>
          <option value="Asian">Asian</option>
          <option value="African-Americans">Black or African American</option>
          <option value="Hispanic">Hispanic or Latino</option>
          <option value="Jewish-Ashkenazi">Jewish - Ashkenazi</option>
          <option value="Jewish-Other">Jewish - Other</option>
          <option value="Native-Hawaiians">Native Hawaiian or Other Pacific Islander </option>
          <option value="Other">Other </option>
          <option value="Unknown">Unknown </option>
          <option value="White-Caucasian">White or Caucasian</option>
      </select>

就像当我选择它时,它看起来像这样

在此处输入图片说明

但是我想要的是

在此处输入图片说明

这是我的演示,清晰的种族应该显示在下拉列表中,但是当我选择它时,它应该不显示在选择框中,就像我共享的屏幕截图

我该怎么办才能解决这种情况? 谢谢。

您可以像这样处理选择标签的change event

onChange(value) {
    if(value == 'Clear ethnicity'){
      this.Ethnicity = '';
}

<select
            #ethnicity
            [(ngModel)]="Ethnicity"
            [class.text-dimmed]="!Ethnicity"
            name="ethnicity" (change)="onChange($event.target.value)"
            id="ethnicity"
            class="form-control input-underline input-lg ml-0">

演示: https : //stackblitz.com/edit/angular-clear-option-select

您所需要做的就是删除值“清除种族”,如下所示:

<option [ngValue]="null" [hidden]="clear.selected"></option>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM