AngularJS TypeScript Kendo UI DropDownList - 选择默认值的错误

时间:2018-05-28 00:04:36

标签: angularjs typescript kendo-ui dropdown default-selected

我有项目对象列表,一切正常,但现在我想添加默认值,但我遇到了问题。

以下是下拉列表的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对象中的来实现?

1 个答案:

答案 0 :(得分:0)

创建一个表示默认值的本地对象,例如

{ 
id: 1,
name: "bob"
}

然后在控件上将autoBind设置为false。

https://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist/configuration/autobind