Вид дерева кендо и раскрывающийся список деревьев - текущий выбор и синхронизация изменений - PullRequest
0 голосов
/ 17 декабря 2018

Этот фрагмент http://dojo.telerik.com/UGaFucez

имеет два элемента управления - просмотр дерева и раскрывающийся список деревьев.Эти 2 элемента управления совместно используют источник данных, поэтому они отображают одно и то же дерево.Но загадкой является то, что они также, кажется, разделяют текущее выбранное значение, и когда вы меняете выделение в одном поле, оно также изменяется в другом.КАК?Источник данных не должен разделять текущее выбранное значение (понятие текущего выбранного значения отсутствует).и привязка MVVM не настроена.Но как-то поля остаются синхронизированными - кто-нибудь может объяснить, почему и что за этим стоит?И как я могу отключить эту зависимость?

1 Ответ

0 голосов
/ 17 декабря 2018

На самом деле, опытное поведение исключено.Объекты DataSource содержат состояния для записей.Другими словами, мы сохраняем расширенные, выбранные, проверенные ... и т. Д. Состояния в объекте источника данных kendo.Это может быть использовано как улучшение в большинстве сценариев.Например, вы должны запустить только один запрос на удаление / создание / обновление и применить данные ко всем связанным виджетам.Однако, действительно, для некоторых сценариев это не подходит.В вашем случае вы можете иметь разные экземпляры DataSource и заполнять их виджетами:

  var data= [
        {
          text: "Furniture", items: [
            { text: "Tables & Chairs" },
            { text: "Sofas" },
            { text: "Occasional Furniture" }
          ]
        },
        {
          text: "Decor", items: [
            { text: "Bed Linen" },
            { text: "Curtains & Blinds" },
            { text: "Carpets" }
          ]
        }
      ]      

  var ds1 = new kendo.data.HierarchicalDataSource({
      data: data
    });      
  var ds2 = new kendo.data.HierarchicalDataSource({
      data: data
    });  


  var treeview = $("#treeview").kendoTreeView({
    dataSource:ds1 
  }).data("kendoTreeView");

  $('#treeField').kendoDropDownTree({
    dataSource: ds2
  });

Вот пример додзё по этому вопросу: http://dojo.telerik.com/@nenchef/ucapaTeT

...