3 回答

TA貢獻1777條經驗 獲得超3個贊
似乎有比此處提供的答案更簡單的方法。ngFor已導出可以別名為局部變量的值(來源:docs)。我們可以使用first局部變量來禁用除first下拉列表中的所有元素。
根據文檔
first: boolean: 當項目是可迭代中的第一項時為真。
考慮到這一點,我們可以first使用[disabled]="!first"
這是您的 HTML 現在的外觀
<select class="select-option" name="tier" required [ngModel]="tierDropDown">
<option value="select Tier" selected>Select Tier</option>
<option class="option" *ngFor="let tier of tierList; let first = first" value="{{tier}}" [disabled]="!first">
{{ tier }}
</option>
</select>
然后在你的組件中排序tierList。

TA貢獻1802條經驗 獲得超4個贊
您可以將數組中的最小值存儲在局部變量中,然后將該變量用于[disabled]屬性:
HTML代碼:
<select class="select-option" name="tier" required [ngModel]="tierDropDown">
<option value="select Tier" selected>Select Tier</option>
<option class="option" *ngFor="let tier of tierList" let i="index" value="{{tier}}" [disabled]="tier != LowestValue">
{{ tier }}
</option>
</select>
TS:
@Component({
selector: 'select-overview-example',
templateUrl: 'select-overview-example.html',
styleUrls: ['select-overview-example.css'],
})
export class SelectOverviewExample {
tierList = ["Tier1", "Tier5", "Tier3", "Tier4", "Tier2"]
LowestValue: any;
constructor() {
this.LowestValue = this.tierList.sort()[0];
}
}

TA貢獻1871條經驗 獲得超8個贊
您可以使用以下答案,
您的html 文件
<select class="select-option" name="tier" required >
<option value="select Tier" selected>Select Tier</option>
<option class="option" [disabled]="arr" *ngIf="arr">
{{arr}}
</option>
<option class="option" *ngFor="let tier of tierList" let i="index" value="{{tier}}" >
{{ tier }}
</option>
</select>
在.ts文件中,
tierList =["Tier1","Tier2","Tier3","Tier4","Tier5"];
arr = [];
let min = this.tierList;
this.arr = min.sort();
this.arr.splice(this.arr[0], 1);
this.arr = this.arr.splice(this.arr[0], 1);
this.arr = this.arr[0]
console.log(this.arr[0]);
console.log(this.tierList);
這個答案對你有用。
添加回答
舉報