我遇到了与对象进行双向数据绑定的问题。以下是设置示例:
<select kendo-combo-box
k-data-source="objectList"
k-placeholder="'Content Type'"
k-data-text-field="'title'"
k-filter="'contains'"
k-ng-model="selectedObject"
k-on-change="doSomeStuff()"></select>
除非selectedValue
的默认值为ex:
{
title: 'defaultValue',
value: someValue
}
我希望这会在组合框中反映为所选项目。但是组合框将Object转换为字符串,所选值为[object Object]。在初始化时,它不尊重k-data-text-field
属性。
我无法弄清楚如何做到这一点,我认为我正在尝试做的应该是预期的行为。有谁知道怎么做?
答案 0 :(得分:1)
问题是您使用k-data-text-field
时未指定k-data-value-field
。
如果没有这个,Kendo无法确定在小部件上调用.value()
时它应该绑定的实际值是什么,所以它只对整个对象执行.toString()
。
来自kendo docs:
重要如果定义了
dataTextField
,则还应设置dataValueField
选项。
您只需要为kendo添加一些方法,以便在列表中唯一标识您的对象以进行绑定。
k-data-value-field="'value'"
以下示例显示了可能的外观: