ui-select track by从数据对象中删除“ id”字段

时间:2018-07-02 12:01:56

标签: javascript ui-select

我有一些来自后端的项目数据集,其中“源”字段是不同的,例如

[{
    'source': 'a1',
    'target': 'custom_value',
    'id': 11
},
{
    'source': 'a2',
    'target': 'b2',
    'id': 12
}]

我也有带有数据集的ui-select-choices

[{
    'source': 'a1',
    'target': 'b1'
},
{
    'source': 'a2',
    'target': 'b2'
},
{
    'source': 'a3',
    'target': 'b3'
},
{
    'source': 'a4',
    'target': 'b4'
}]

(请注意,ui-select-choices数据集中没有ID字段)

如果我将ui-select-choices定义为

<ui-select-choices repeat="item in defaults">
    <span>{{item.source}} > {{item.target}}</span>
</ui-select-choices>

我可以选择'a1'和'a2'项目,但我不希望它们出现在其中。 因此,我指定了“跟踪依据”

<ui-select-choices repeat="item in defaults track by item.source">
    <span>{{item.source}} > {{item.target}}</span>
</ui-select-choices>

但是,当我从选项中选择任何内容后,预定义数据集中的ID字段将被删除。 我了解,“跟踪依据”会将其保存为“ id”字段。

这可以以某种方式更改吗?

编辑:

经过一些调试后,我得出一个结论,即在通过ui-select选择新项目之后,将根据ui-select-choices数据更新每个现有项目。

可以更改此设置,以便已选择的数据不会更新吗?

0 个答案:

没有答案