отображать ключевое значение объекта в 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, который я использую сейчас, таков:

<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>

Или есть лучший способ сделать это?

В основном в пользовательском интерфейсе я хочу дать варианты как ["альфа", "бета", "гамма", ....]. Когда мы выбираем определенное имя, должен быть выбран соответствующий объект, например, если мы выбираем «альфа» в списке, то

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

person clearScreen    schedule 14.07.2015    source источник
comment
не могли бы вы объяснить больше   -  person Jagadeesh    schedule 14.07.2015
comment
я отредактировал вопрос в соответствии с требованием...   -  person clearScreen    schedule 14.07.2015
comment
я не знаю о ui-select. но у вас есть некоторые знания в ng-select, знаете ли вы об этом. я думаю, это может помочь тебе   -  person Jagadeesh    schedule 14.07.2015
comment
я не знаю, я посмотрю на это   -  person clearScreen    schedule 14.07.2015


Ответы (1)


Вы можете сделать это так, измените формат объекта на этот

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

в пользовательском интерфейсе вы можете запросить выбор только как «имя» (предположим, что имя массива «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>

когда выбор выбран, объект выбран, поэтому вы даже можете получить доступ к «данным» выбранного объекта

person akashrajkn    schedule 14.07.2015