ui-select-choices对象(哈希表)而不是对象数组

时间:2016-01-14 08:34:06

标签: angularjs hashtable ui-select angular-ui-select

我有以下ui-select工作:

<ui-select ng-model="vm.example" name="example">
    <ui-select-match placeholder="Select...">{{$select.selected.key}}</ui-select-match>
        <ui-select-choices repeat="x in vm.examples | filter: $select.search">
            <div ng-bind-html="x.key | highlight: $select.search"></div>
    </ui-select-choices>
</ui-select>

此选择的来源是以下数组......

vm.examples = [
    {key:'a', value: 1},
    {key:'b', value: 2},
    {key:'c', value: 3}
]

但是,我希望select的“数据源”是一个对象文字,因为它遵循......

vm.examples = {
    a: 1,
    b: 2,
    c: 3
}

我已经尝试过几次并且无法使其工作,任何想法?如果由于ui-select当前实现而无法实现......有人知道原因吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我终于在GitHub上的ui-select wiki中找到了答案!

<ui-select ng-model="person.selectedValue" title="Choose a person">
  <ui-select-match placeholder="Select a person in the list or search his name/age...">{{$select.selected.value.name}}</ui-select-match>
  <ui-select-choices repeat="person.value as (key, person) in peopleObj | filter: {'value':$select.search}">
    <div ng-bind-html="person.value.name | highlight: $select.search"></div>
    <small>
      email: {{person.value.email}}
      age: <span ng-bind-html="''+person.value.age | highlight: $select.search"></span>
    </small>
  </ui-select-choices>
</ui-select>