Есть ли способ динамически добавлять данные в Gird?
У меня есть карусель с n количеством виджетов, и я хочу загрузить еще одно количество элементов в карусель, как только пользователь сфокусирует последний элемент карусели. я добавил afteralign
Слушатель событий в карусели для обнаружения навигации между элементами карусели и внутри слушателя. Я создал один виджет и попытался добавить его к текущей карусели, используя appendChildWidget()
метод
_handleLazyLoading: function (evt) {
var selectedItem = evt.target.getActiveChildWidget().getDataItem();
if (selectedItem.page < selectedItem.totalPages) {
if (evt.target.getActiveChildIndex() === evt.target.getChildWidgetCount() - 3) {
var sampleData={"type":"VOD","id":1234,"accessLevel":"GRANTED","title":"sample","description":"A look back at all the Premier League action from the 31st of March 2018.","thumbnailUrl":"url of image","metaFields":{},"tags":
["review","match-round-32"],"watchProgress":0,"favourite":true,"duration":3098,"watchedAt":1522675749000}
var videoCard=new CommonVideoCard(sampleData);
evt.target.appendChildWidget(sampleData)
}
}
}
Это то, что код моего слушателя событий. Я также проверил в домене, если я ставлю точку останова после добавления метода, тогда я могу видеть данные в домене, после чего кажется, что конкретная карусель застряла, и я не могу перейти к другим элементам в карусели. Я просто попробую с removeWidget
метод, и это работает. Любая помощь будет по достоинству оценена.
1 ответ
Установить setWidgetLengths(length);
после добавления нового дочернего виджета.
Так будет выглядеть код
_handleLazyLoading: function (evt) {
var selectedItem = evt.target.getActiveChildWidget().getDataItem();
if (selectedItem.page < selectedItem.totalPages) {
if (evt.target.getActiveChildIndex() === evt.target.getChildWidgetCount() - 3) {
var sampleData={"type":"VOD","id":1234,"accessLevel":"GRANTED","title":"sample","description":"A look back at all the Premier League action from the 31st of March 2018.","thumbnailUrl":"url of image","metaFields":{},"tags":
["review","match-round-32"],"watchProgress":0,"favourite":true,"duration":3098,"watchedAt":1522675749000}
var videoCard=new CommonVideoCard(sampleData);
evt.target.appendChildWidget(sampleData);
evt.target.setWidgetLengths(620);
}
}
}