AngularJS TypeScript Kendo UI DropDownList - ошибка с выбранным значением по умолчанию - PullRequest
0 голосов
/ 28 мая 2018

У меня есть список объектов для элементов, и все работает нормально, но теперь я хочу добавить выбранное значение по умолчанию , но у меня есть проблемы с ним.

Вот код 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 объекте?

1 Ответ

0 голосов
/ 28 мая 2018

Создайте локальный объект, представляющий ваше значение по умолчанию, например

{ 
id: 1,
name: "bob"
}

, затем в элементе управления установите для autoBind значение false.

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

...