Добавление новой записи в буферизованное хранилище в EXTJS

В моем приложении у меня есть сетка с буферизованным хранилищем. При щелчке строки сетки будет показано предупреждение. Я хочу добавить новую строку в сетку, т.е. добавить новую запись в хранилище (не следует сохранять в бэкэнде, пока пользователь не выполнит какое-либо действие по сохранению). Ту же добавленную запись также можно удалить, если пользователь решит это сделать.

В настоящее время пробовал следующий подход.

var grid = Ext.ComponentQuery.query('grid')[0],
gridStore= grid.getStore();
var bufferedStoreMap = gridStore.getData().map[currentPage]; //currentPage = 1
var mapVal = bufferedStoreMap.value;

gridStore.totalCount++;
mapVal.unshift(Ext.create('Ext.data.Model',{name:'test'}));
grid.getView().refresh();

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

Любая идея о достижении этого ?? Любая помощь могла бы быть полезна.


person url    schedule 03.12.2019    source источник


Ответы (1)


Буферизованное хранилище не поддерживает локальные модификации, это, по сути, источник данных только для чтения после загрузки данных через сервер.

person Evan Trimboli    schedule 03.12.2019
comment
Вы предлагаете какой-либо другой способ выполнить мое требование?? - person url; 04.12.2019
comment
Не без большого объема работы. Сколько записей вы ожидаете загрузить? - person Evan Trimboli; 04.12.2019
comment
так создать модель для хранения данных, затем передать ее на сервер, а затем перезагрузить буферизованное хранилище? - person Dawesi; 04.12.2019
comment
@Dawesi Я не могу бросить его на сервер, пока пользователь не решит его сохранить. - person url; 04.12.2019
comment
@EvanTrimboli Не без большого объема работы. Сколько записей вы ожидаете загрузить? Я не ясно с вашим вопросом ?? Вы намерены узнать общее количество доступных записей или количество записей, которые я добавляю?? Если речь идет о начальной нагрузке... это очень большой набор данных, в котором у нас более 1000 записей. Если речь идет о вновь созданных записях... то это будет от 3 до 4 за раз - person url; 04.12.2019
comment
1000 записей — это немного, почему бы просто не загрузить весь магазин? - person Evan Trimboli; 04.12.2019
comment
@EvanTrimboli Это более 1000. Вы можете предположить, что это будет в сотнях долларов. - person url; 04.12.2019
comment
любой вклад в достижение этого ?? - person url; 10.12.2019