在Angular中的自更改事件中,在@ ng-select / ng-select中设置默认下拉bindLabel吗?

时间:2018-08-28 08:07:01

标签: angular typescript

我有一种情况,我想在 ng-select 中将默认值设置为null。 如果用户首先选择下拉菜单,则在发生更改事件时应检查Amount模型是否为null或为空,如果Amount模型为空白,则应将ng-select设置为null

在HTML组件中

<input type="text" [(ngModel)]="Amount"/><br/><br/>
<label>Your ng-select</label><br/>
<ng-select [items]="currencyList"
           bindLabel="name"
           bindValue="name"
           placeholder="Select Currency"
           [(ngModel)]="selectedCurrency"
           (change)="onChangeDropdown()">
</ng-select><br/>

在更改事件功能的打字稿中

onChangeDropdown(){
  if(this.Amount){

  }else{
    this.selectedCurrency = null;
    alert("enter amount first");
  }
}

在这里,我具有附加链接:link for dropdown example

即使我也在正常的html select下拉菜单中进行了测试,这也显示出与上述相同的输出结果

<select [(ngModel)]="selectedCurrency" class="form-control" (change)="onChangeDropdown()">
    <option>--Select Currency--</option>
    <option *ngFor="let c of currencyList" value="{{c.id}}">{{c.name}}</option>
</select>

它只是第一次工作,当我选择更多时,一旦它不工作。为什么在下拉列表中仍显示INR或其他货币名称?

1 个答案:

答案 0 :(得分:1)

将此this.selectedCurrency值更改为未定义或空字符串

onChangeDropdown(){
  if(this.Amount){

  }else{
    this.selectedCurrency = {};
    // or this.selectedCurrency = '';
    alert("enter amount first");
  }
}