我有带有多个选择的 select2 控件,用于显示用户的角色,并且我从服务器获取 selectedRoles 集合,而 select2 只需要选定项目的 id 而不是整个集合。
<select multiple="multiple"
data-bind="options: AllRoles, optionsValue: 'Id', optionsText: 'Name', selectedOptions: selectedRole, select2: {}"></select>
我在 observableArray 中选择了 Roles 作为集合,但 select2 需要字符串集合来显示所选项目。
AllRoles = ko.observableArray([{Id: '111', Name: 'Test'}, {Id: '2222', Name: 'TTTTT'}]);
selectedRole = ko.observableArray(["111","2222"]);
??? selectedRoles = ko.observableArray([{Id: '111', Name: 'Test'}, {Id: '2222', Name: 'TTTTT'}]);
如果我有单独的字符串数组或者我可以用现有的集合来解决这个问题,那么解决这个问题的最佳方法是什么?
这是示例小提琴