如何在AngulrJS中自定义下拉列表

How to customize dropdown in AngulrJS?

本文关键字:自定义 下拉列表 AngulrJS      更新时间:2023-09-26

我在AngularJS下拉文本中遇到了一些问题。请在下面检查我的代码

JS

$scope.work_type_list = {
    model: null,
    availableOptions: [
      {id: '1', name: 'Print Ready File', symbol: 'P'},
      {id: '2', name: 'Design Work', symbol: 'D'},
      {id: '3', name: 'Design Only', symbol: 'DO'}
    ]
};

HTML

<select class="form-control m-b" name="work_type" ng-model="formData.work_type" ng-options="option.id as option.name for option in work_type_list.availableOptions">
   <option value="">Select Work Type</option>
</select>

当前输出是-

<select ng-options="option.id as option.name for option in work_type_list.availableOptions" ng-model="formData.work_type" name="work_type" class="form-control m-b ng-pristine ng-valid ng-empty ng-touched">
  <option value="" class="" selected="selected">Select Work Type</option>
  <option label="Print Ready File" value="string:1">Print Ready File</option>
  <option label="Design Work" value="string:2">Design Work</option>
  <option label="Design Only" value="string:3">Design Only</option>
</select>

我想在我的选项文本中添加P, DDO。这里我的输出应该是这样的-

<select ng-options="option.id as option.name for option in work_type_list.availableOptions" ng-model="formData.work_type" name="work_type" class="form-control m-b ng-pristine ng-valid ng-empty ng-touched">
  <option value="" class="" selected="selected">Select Work Type</option>
  <option label="Print Ready File" value="string:1">Print Ready File(P)</option>
  <option label="Design Work" value="string:2">Design Work(D)</option>
  <option label="Design Only" value="string:3">Design Only(DO)</option>
</select>

如何自定义下拉选项文本?

您可以在ng-options的各个部分使用表达式:

<select class="form-control m-b" name="work_type" ng-model="formData.work_type"
    ng-options="option.id as (option.name + '(' + option.symbol + ')') for option in work_type_list.availableOptions">
    <option value="">Select Work Type</option>
</select>