У меня есть сетчатая панель (хранилище и модели связаны с ней), где я отображаю все данные в строке мудрым образом. Столбец сетки состоит из столбца действия, где, если человек нажимает, он открывает новую форму в стиле табуляции и пользователь заполняет данные, и он был сохранен в db. Я хочу, чтобы хранилище обновлялось каждые несколько секунд, чтобы эти данные также отображались на панели сетки автоматически. Как я должен это делать?Как обновить магазин/модель каждые несколько секунд?
ответ
Существует несколько способов, с помощью которых вы могли бы справиться, лично я бы просто перезагрузил магазин, когда форма закрылась, чтобы перезагрузить любые обновления, а не просто перезагружать их постоянно.
Код, показанный ниже, показывает, как вы можете использовать TaskRunner в ExtJs для перезагрузки хранилища каждые x секунд. Вы также можете добавить setTimeout в событие загрузки хранилища, чтобы каждый раз, когда хранилище загружалось, вы планируете его снова загружать в x секунд.
Ext.application({
name: 'Fiddle',
launch: function() {
var store = Ext.create('Ext.data.JsonStore', {
storeId: 'simpsonsStore',
fields: ['name', 'email', 'phone'],
autoLoad: true,
proxy: {
type: 'ajax',
url: 'data1.json',
reader: {
type: 'json',
rootProperty: 'characters'
}
},
listeners: {
load: function() {
console.log(this);
}
}
});
Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: store,
columns: [{
text: 'Name',
dataIndex: 'name'
}, {
text: 'Email',
dataIndex: 'email',
flex: 1
}, {
text: 'Phone',
dataIndex: 'phone'
}],
height: 200,
width: 400,
renderTo: Ext.getBody()
});
var runner = new Ext.util.TaskRunner(),
task = runner.start({
run: function() {
store.reload();
},
interval: 3000
});
// IMPORTANT: Dont forget to call stop at a logical point.
runner.stop();
}
});
Существует также fiddle, содержащий этот код, который вы можете играть вокруг с.
Если бы мне пришлось пойти с параметрами SetTimeout или TaskRunner для этого, я бы, скорее всего, инициализировал их в событии рендеринга родительской панели/контейнера и прослушал событие beforeDestroy, чтобы остановить их запуск.
- 1. Обновление HttpResponse Каждые несколько секунд
- 2. Обновить Fancybox Каждые 5 секунд
- 3. Как обновить представление каждые несколько секунд в android?
- 4. Как получить переменную каждые несколько секунд и обновить ее
- 5. Repeat AnimationDrawable каждые несколько секунд
- 6. Kinect замерзает каждые несколько секунд
- 7. Sprite рисунок каждые несколько секунд
- 8. Повторяя функцию каждые несколько секунд
- 9. JQuery поворачивается каждые несколько секунд
- 10. Обновите два частичных просмотра каждые несколько секунд
- 11. Как Spawn несколько объектов каждые 10 секунд
- 12. Как изменить несколько div каждые 5 секунд
- 13. Как перефокусироваться на Jframe каждые несколько секунд?
- 14. Swift: обновить запрос alamofire каждые 10 секунд
- 15. Обновить элемент из Еогеаспа каждые 10.5 секунд
- 16. Обновить страницу заголовок каждые 10 секунд - Javascript
- 17. Обновить D3 сгенерированную таблицу каждые 5 секунд
- 18. AJAX получить запрос, обновить каждые 5 секунд
- 19. iOS: обновить метод класса каждые x секунд?
- 20. Реагент - относительное время ревердера каждые несколько секунд
- 21. Входной заполнитель, который изменяется каждые несколько секунд
- 22. запускать макрос каждые 5 секунд
- 23. значения местоположения меняются каждые несколько секунд - navigator.geolocation.getCurrentPosition
- 24. TIMEZONE_CHANGED намерение принимается каждые несколько секунд
- 25. Карты Google JSv3 Замерзает на несколько секунд каждые 30 секунд
- 26. андроида - разбор Dotnet WebService каждые несколько секунд
- 27. Сила сигнала не освежает каждые несколько секунд
- 28. Карта Активность масштабируется за каждые несколько секунд
- 29. Loop MySQLI Query каждые несколько секунд
- 30. Как «тяжело» на сервере запускать команды mysql каждые несколько секунд