2017-08-03 73 views
0

我需要方案和场景在页面上的帮助我有4个选择输入,每个输入都有它们的来源,如来自主对象的4个项目副本。从选择的角度删除选项4

<ion-select (ionChange)="onChange($event,i)" class="select-bx" placeholder="Select Security Question" [(ngModel)]="objQuestListModel[i].selQuestionId"> 
    <ion-option *ngFor="let items of objQuestList[i]" value="{{items.QuestionId}}">{{items.QuestionText}}</ion-option> 
    </ion-select> 

,所以我想删除从每个下拉列表中所有选定的项目,但保留了选择的下拉列表中选择的项目。

用于例如在下拉1,如果我选择一个选项,然后从所有其余下拉它应该在下拉2,如果我选择的选项B,则它应该从下拉1. 我使用角4科尔多瓦去除被移除 。

请帮帮我。

问候 阿尼尔·库马尔

+0

https://stackoverflow.com/questions/42372560/looping-using -ngfor-and-skip-n-element – Sabari

回答

0

我不知道这样的离子我会用角语法。

在您的组件打字稿文件,你应该做这样的事情:

private selectedOptions:number[] = []; 

private onChangeSelectBox(event:any){ 
    let value:number = event.target.value; 
    if(this.selectedOptions.indexOf(value) == -1){ 
     this.selectedOptions.push(value); 
    } 
} 


private showOption(optionId:number):boolean{ 
    return this.selectedOptions.indexOf(optionId) == -1; 
} 

而在你的HTML文件:

<select (change)="onChangeSelectBox($event)"> 
     <template ngFor let-item [ngForOf]="yourItemsCollection"> 
     <option *ngIf="showOption(item.id)" value="{{item.id}}"> 
      {{item.name}} 
     </option> 
     </template> 
<select> 
+0

“let-”仅在ng-template元素上受支持。 – Jnr