显示ui-select中对象的键值

display key value of the object in ui-select

我正在使用 ui-select 填充一些数据作为选择,数据存储在一个对象数组中,"pageArray",对象看起来像这样

{
    pageName: pageNameArray
}

例子,

[{"alpha": [1,2,3,4]}, {"beta":[3,4,5,6,7]}, {"gamma": [6,4,2,0]}, ....]

现在在 ui-select 中,我想将选项显示为 "alpha"、"beta"、"gamma",...基本上键值,我该怎么做?

我现在用的ui-select代码是这样的

<ui-select ng-model = "page1.selected" style="width: 200px;" on-select = "getHost1List()">
    <ui-select-match placeholder = "Choose a page">{{$select.selected.name}}</ui-select-match>
    <ui-select-choices repeat = "page in pageArray | filter: {name: $select.search}">
        <span ng-bind-html = "page.name | highlight: $select.search"></span>
    </ui-select-choices>
</ui-select>

或者有更好的方法吗?

基本上在ui-select,我想给的选择是["alpha","beta","gamma",.... ].当我们select一个特定的名称时,对应的对象应该被select编辑,例如如果我们select "alpha"在列表中,那么

page1.selected = { {"alpha": [1,2,3,4]} }

你可以这样做,把你的对象格式改成这样

{
    "name": pageName,
    "data": pageNameArray
}

在ui-select中,你可以查询give choices as "name" only (assume the name of the array is "arr"

<ui-select ng-model = "page1.selected" style="width: 200px;" on-select = "getHost1List()">
    <ui-select-match placeholder = "Choose a page">{{$select.selected.name}}</ui-select-match>
    <ui-select-choices repeat = "page in array | filter: {name: $select.search}">
        <span ng-bind-html = "page.name | highlight: $select.search"></span>
    </ui-select-choices>
</ui-select>

when a choice is selected, the object is selected, so you can even access the "data" of the selected object