gpt4 book ai didi

angularjs - ng-option track by group name 打破了选择

转载 作者:行者123 更新时间:2023-12-02 03:15:24 25 4
gpt4 key购买 nike

我有一个带有分组 ng-options 的下拉选择。用户应该能够在输入字段中动态更改组名称的命名。在更改组名称值时,选择指令不会更新,除非您进行新的选择。

我通过按组名称使用轨道修复了此问题,但现在选择下拉列表已损坏。请注意,您选择的选项不是实际选择的选项。

有没有办法同时拥有动态更新的组名和有效的选择?

 <select ng-options="player.name group by player.team for player in players track by player.team" ng-model="systemType.tertiaryEquipment"></select>

这是 jsfiddle:http://jsfiddle.net/07woeam8/2/

最佳答案

这里有多种选择,但您需要权衡取舍。

首先,打乱您的选择的是 track by 表达式,它不应该是 player.team,因为您没有选择团队。它应该是 player.name 或什么都不是。请记住,通过 player.name 进行跟踪将使 select 对象中的组不会实时更新。

其次,如果您希望选项菜单中的组动态变化,则需要更改整个 $scope.players 对象,而不仅仅是更改其中的一个字符串值。例如,您可以使用 angular.copy:

$scope.change = function() {
var copy = angular.copy($scope.players);
copy[0].team = 'betsdfhsk';
$scope.players = copy;
};

这是您需要考虑的另一个权衡。如果您没有在第一个选项中使用 track by player.name,则完全更改对象引用也会使您选择的对象无效。

但是这里有一个 working fiddle .

关于angularjs - ng-option track by group name 打破了选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37314742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com