0

我有项目的对象列表,一切正常,但现在我想添加默认值 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];

我已经k-ng-model在 HTML 中设置了,我可以像这样设置选定的值。

但是,有没有办法通过对象中的来做到这一点this.selectItems

4

1 回答 1

0

制作一个代表您的默认值的本地对象,例如

{ 
id: 1,
name: "bob"
}

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

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

于 2018-05-28T01:09:09.050 回答