Данные фильтра для RecyclerListView
Я пытаюсь реализовать базовый список с помощью фильтра с помощью RecyclerListView. Но как только наберете какой-нибудь текст и прокрутка окажется не наверху, выдается исключение. Макет недоступен для индекса.
Смотрите в этой закуске https://snack.expo.io/SJY6NU00B
Инструкции по воспроизведению:
- Прокрутите вниз
- Введите букву A в поле TextInput.
Результат:
Нет макета для индекса: 233 LayoutUnavailableException: нет макета для индекса: 233 в новом e (module://recyclerlistview.js:3:1527) в e.getOffsetForIndex (module://recyclerlistview.js:3:5917) в t.refreshWithAnchor (модуль://recyclerlistview.js:3:26794) в e._checkAndChangeLayouts (модуль://recyclerlistview.js:3:16117) в e.componentWillReceiveProps (модуль://recyclerlistview.js:3:11983) at Hi ([внутреннее устройство снеков] at ha ([внутреннее устройство снеков] в Js ([внутреннее устройство снеков] в js ([внутреннее устройство снеков]] в Ps (https://s3.us-west-1.amazonaws.com/snack-web-player/36/static/js/2.d51b9d02.chunk.js:1:1086639)
Я делаю это неправильно?
1 ответ
В самом пакете я сделал следующее:
Закомментировал строки, в которых возникает исключение в LayoutManager.js lines: 64-67
Вместо этого просто поставьте return { x: 0, y: 0};
WrapGridLayoutManager.prototype.getOffsetForIndex = function (index) {
if (this._layouts.length > index) {
return { x: this._layouts[index].x, y: this._layouts[index].y };
}
else {
return { x: 0, y: 0};
// Commented the part that throws exception
// throw new CustomError_1.default({
// message: "No layout available for index: " + index,
// type: "LayoutUnavailableException",
// });
}
};
Я открыл проблему, но она все еще не решена https://github.com/Flipkart/recyclerlistview/issues/446