如何在 angularjs ui-select 指令更新后默认设置搜索字段的更新值?

how to set the updated value in searched field by default after updation in angularjs ui-select directive?

我在 angularjs ui-select 指令中遇到问题。它工作正常,它在下拉列表中显示了完整的数据。当我 select 来自搜索字段的值并想要更新它时,它已更新但默认情况下无法在搜索字段中显示。我必须再次手动搜索才能看到更新后的值。让我粘贴代码...

这是angularjs代码

$scope.consignee = [];
$http.get("get-consignee", {
 }).then(function(response){

 $scope.consignee = response.data;
 //$scope.consignee.selected = $scope.consignee[0];
 });

这里是ui-select代码

 <ui-select ng-model="consignee.selected" theme="select2">

 <ui-select-match placeholder="Select Consignee">

    <% $select.selected.CONSIGNEE_NAME %>

 </ui-select-match>

 <ui-select-choices ng-repeat="e in consignee | filter: $select.search">

   <div><% e.CONSIGNEE_NAME %></div>

 </ui-select-choices>

 </ui-select>

假设我在下拉列表中有 5 个收货人姓名,例如!

 1. hamad
 2. test2
 3. yasin Gul
 4. hamid
 5. munir

所以问题是当我使用这个 $scope.consignee.selected = $scope.consignee[0]; 然后在 0 索引它给我 hamad 更新后的名字,即使我更新 test2yasin Gul 它默认在搜索字段中设置 hamad。我知道我有 01234 索引,但我希望它是动态的而不是手动的。我只想设置我更新的那个名字。如果我更新 test2 以便它应该在更新后在搜索字段中默认设置 test2 并且 yasin Gul 等也是如此。任何帮助将不胜感激谢谢

cons_id 是您选择的数据库 ID。

$scope.consignee = [];
$http.get("get-consignee", {
 }).then(function(response){

 $scope.consignee = response.data;
 var index = $scope.consignee.findIndex(x => x.CONSIGNEE_ID==cons_id); // use this
 $scope.consignee.selected = $scope.consignee[index]; 
});