我有项目对象列表,一切正常,但现在我想添加默认值,但我遇到了问题。
以下是下拉列表的HTML代码:
<select kendo-drop-down-list
k-options="selectItems"
k-ng-model="selectedItem">
</select>
在AngularJS中(使用TypeScript)我正在制作下拉列表:
this.itemsToSelect = [{id: 1, name: "One"}, {id: 2, name: "Two"}];
this.selectItems = {
optionLabel: "Select items...",
dataTextField: "name",
dataValueField: "id",
dataSource: new kendo.data.DataSource({
transport: {
read: (options) => {
options.success(this.itemsToSelect);
}
}
}),
value: this.itemsToSelect[0]
};
我没有选择默认值。
我尝试了他们的文档中的代码,它可以将项目作为字符串使用,但是当我说出类似的内容时,将项目作为对象工作:
value: this.itemsToSelect[0].id
所以,他们的代码看起来像这样:
<script>
let items = [{id: 1, name: "one"}, {id: 2, name: "two"}];
$("#dropdownlist").kendoDropDownList({
dataTextField: "name",
dataValueField: "id",
dataSource: items,
value: items[1].id
});
</script>
我在我的代码中尝试了这个并且它不起作用。
代码没有任何错误。有什么建议吗?
修改
我能做的是:
this.selectedItem = this.itemsToSelect[0];
我在HTML中设置了k-ng-model
,我可以像这样设置所选的值。
但是,有没有办法通过this.selectItems
对象中的值来实现?
答案 0 :(得分:0)
创建一个表示默认值的本地对象,例如
{
id: 1,
name: "bob"
}
然后在控件上将autoBind设置为false。
https://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist/configuration/autobind