Как предварительно выбрать автозаполнение Angular-ui-bootstrap с соответствующим объектом данных json - PullRequest
0 голосов
/ 14 мая 2018

Слушай, у меня есть автозаполнение angular-ui-bootstrap, в котором есть список компаний. Как только я начинаю печатать в поле автозаполнения, всплывают соответствующие компании, и я выбираю одну из них, все работает отлично!

Итак, я не знаю, что использовать в uib-typeahead, точно так же, как мы используем track by в ng-options?

Код, который я использую для поля автозаполнения angular-ui-bootstrap:

<input type="text" ng-model="loadStopForm.customer" uib-typeahead="company as company.businessName for company in allCompanies | filter:$viewValue | limitTo:8" class="form-control" data-error="Please select a customer" required>

массив JSON всех компаний

[{
   "companyId": 1,
   "companyName": "Coca Cola",
   "companyCode": "COC"
 }, {
   "companyId": 2,
   "companyName": "Pepsi",
   "companyCode": "PEP"
 }, {
   "companyId": 3,
   "companyName": "Sprite",
   "companyCode": "SPR"
}]

До сих пор все работало нормально. Я успешно могу найти и выбрать компанию, но проблема *1019* заключается в том, как сделать поле предварительно выбранным / предварительно заполненным, когда я получаю этот объект из списка:

{ "companyId": 2, "companyName": "Pepsi", "companyCode": "PEP" }

Я могу получить объект, но не могу предварительно заполнить поле автозаполнения. Пожалуйста, помогите мне решить эту проблему.

Спасибо!

1 Ответ

0 голосов
/ 14 мая 2018
{
   "companyId": 2,
   "companyName": "Pepsi",
   "companyCode": "PEP"
 }

назначьте указанное выше значение для ng-модели гарнитуры, как показано ниже

$scope.loadStopForm.customer = {
   "companyId": 2,
   "companyName": "Pepsi",
   "companyCode": "PEP"
 }

<input type="text" ng-model="loadStopForm.customer" uib-typeahead="company as company.companyName for company in allCompanies | filter:$viewValue | limitTo:8" class="form-control" data-error="Please select a customer" required>
...