javascript - 禁用下拉列表中的最低值

标签 javascript angular

我有一个下拉列表数组,它显示在我的 UI 中如何禁用数组中所有最高的元素,我只想启用数组中的最低值

<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]="arr">
        {{ tier }}
    </option>
</select>

.TS文件:

tierList = ["Tier1", "Tier2", "Tier3", "Tier4", "Tier5"]
this.arr = [];
let min = this.tierList;
this.arr = min.sort();
this.arr.splice(this.arr[0], 1);
console.log(this.arr);
this.arr.splice(this.arr[0], 1);
console.log(this.arr);

这将返回拼接较低的元素和所有较高的元素,所以我在 HTML 文件的 [disabled] 属性中绑定(bind)该值,但结果是我的所有下拉值都被禁用

最佳答案

您可以将数组中的最小值存储在局部变量中,然后将该变量用于 [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];
  }
}

Working_Demo

关于javascript - 禁用下拉列表中的最低值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57735921/

相关文章:

testing - 如何在没有 Mock 的情况下测试 Angular2/TypeScript HTTPService

angular - 找不到API编译器-cli,函数版本

javascript - 在窗口调整大小时调整 div 大小

javascript - 鼠标悬停时的元素 id

javascript - 嵌套循环未形成完整对象 - 问题

angular - 在 Angular 2 typescript 中异步自动保存

javascript - Angular 应用程序提取整个集合,而不是预期的有限数量的结果

javascript - ngrx/store 与 ngModel 引起了一些问题

javascript - h2 中的数据导入到 img title 属性中

javascript - 使用 angularjs 对字符串的一部分进行子串