Sitecore SPEAK UI устанавливает выбранную строку ListControl

У меня есть диалоговое окно SPEAK UI с ListControl, привязанным к пользовательскому источнику данных JSON. Это работает, и ListControl правильно заполнен. Мои данные JSON выглядят примерно так:

[
  {
    "itemId":"{BA26159A-194D-4A3C-9D1A-DA9472F11BE0}",
    "selected":true
   },
   {
     "itemId":"{E651D0CD-0E7E-4903-8E26-0D1D5A168E69}",
     "selected":false
   },
   {
     "itemId":"{E651D0CD-0E7E-4903-8E26-0D1D5A168E70}",
     "selected":false
   }
]

Есть ли способ убедиться, что выбрана соответствующая строка ListControl ("selected":true) когда диалог загружается?

1 ответ

Вы можете установить идентификатор выбранного элемента ListControl следующим образом: this.MediaResultsListControl.viewModel.set ({selectedItemId: "ITEMID"})

(Sitecore.Speak.app вместо этого во время дублирования в консоли)

Если вы вызываете this.MediaResultsListControl.viewModel.selectedItemId(), вы можете увидеть, что выбранный элемент был установлен вышеуказанным методом.

Хотите знать, при загрузке страницы, если вы можете установить идентификатор выбранного элемента ListControls, из кода страницы вручную, используя этот метод?

Глядя на JS для контроля списка. Это вызывает это по щелчку строки. Хотите знать, если вы можете заменить это, чтобы вызвать выбранную строку?

selectRow: function (row, rowModel) {
  this.$el.find(".active").removeClass("active");
  row.addClass("active");

  this.model.set("selectedItem", rowModel);
  this.model.set("selectedItemId", rowModel.get("itemId"));
},
Другие вопросы по тегам