2016-12-11 5 views
0

У меня есть выбор в angularjs, который отлично работает с моим веб-сервисом, но у него так много данных, поэтому мне нужен выбор для поиска. Я обнаружил, что пользовательский интерфейс-выберите, и я пытаюсь преобразовать этот код (HTML и app.js) в UI-выберите:Angularjs: convert standart select to ui-select

HTML:

<select class="form-control" id="fabricante" data-ng-model="equipamento.RazaoSocial" ng-disabled="viewMode"> 
<option ng-repeat="fabricante in fabricantes" value="{{fabricante.RazaoSocial}}">{{fabricante.RazaoSocial}}</option></select> 

App.js

// select fabricantes 
$scope.fabricantes = []; 
$scope.fabricante;// = null; 
$scope.fabricantes = gettbfabricante(); 
gettbfabricante(); 
function gettbfabricante() { 
    EmpApi.gettbfabricante().success(function (response) { 
     $scope.fabricantes = response; 
    }) 
    .error(function (error) { 
     $scope.status = 'Não foi possível carregar os dados: ' + error.message; 
     $window.alert($scope.status); 
    }); 
}; 

Service.js

//get tbfabricante 
EmpApi.gettbfabricante = function() { 
    return $http.get(urlBase + '/tbfabricante') 
} 

Помогите пожалуйста? Я попытался использовать это Plunker example.

+0

Опубликовать ответ json от изготовителей – Sajeetharan

+0

Вы пробовали? –

+0

Json: '[{« TBEquipamento »: [],« idFabricante »: 1,« RazaoSocial »:« COMTRAFO »,« CNPJ »: null,« Endereco »: null,« Numero »: null,« Complemento »: нуль "Байрро": NULL, "Сидад": NULL, "Эстад": нулевая, "СЕРЫ": нулевая, "Telefone": нулевая}, { "TBEquipamento": [], "idFabricante": 2, "RazaoSocial" : "ABB", "CNPJ": "", "Endereco": "", "Numero": 0, "Complemento": "", "Bairro": "", "Cidade": "", "Estado": "", "СЕР": "", "Telefone": ""}, { "TBEquipamento": [], "idFabricante": 3, "RazaoSocial": "ADELCO", "CNPJ": "", "Endereco" : "", "Numero": 0, "Complemento": "", "Bairro": "", "Cidade": "", "Estado": "", "КЭП": "", "Telefone":» "}]' – kfm

ответ

0

Прежде всего, необходимо установить пользовательский интерфейс, выбор с помощью НОГО или беседки для НПМ бега npm install ui-select и беседки бега bower install angular-ui-select

после этого в вашем HTML записи:

<ui-select ng-model="equipamento.RazaoSocial" ng-disabled ="viewMode"> 
    <ui-select-match placeholder="Pick one...">{{$select.selected}}</ui-select-match> 
    <ui-select-choices repeat="data in fabricantes | filter: $select.search track by data.RazaoSocial"> 
     {{fabricante.RazaoSocial}} 
    </ui-select-choices> 
</ui-select>' 

Надеется, что это поможет. Если вы хотите изучить или добавить дополнительные компоненты в свой ui-select, обратитесь к этому URL-адресу Ui-select documentation

+0

Почти! Он дал эту ошибку: '' Ошибка: [ngRepeat: dupes] Дубликаты в ретрансляторе запрещены. Используйте выражение 'track by' для указания уникальных ключей. Repeater: данные в треке $ select.items по данным. RazaoSocial, Duplicate ключ: Fockink, Дублирующее значение: {"TBEquipamento": [], "idFabricante": 262, "RazaoSocial": "Fockink", "CNPJ": "", "Endereco": "", "Numero": 0, Complemento ":" "," Bairro ":" "," Cidade ":" "," Estado ":" "," CEP ":" "," Telefone ":" "}' – kfm

+0

Я изменяю ваш html: ' {{$ select.selected.RazaoSocial}} kfm