我有一个列表
Ext.define('EvaluateIt.view.RemoveList', {
extend: 'Ext.dataview.List', //'Ext.tab.Panel',
alias : 'widget.removeList',
config: {
width: Ext.os.deviceType == 'Phone' ? null : 300,
height: Ext.os.deviceType == 'Phone' ? null : 500,
xtype: 'list',
store: 'SiteEvaluations', //getRange(0, 9),
itemTpl: [
'<div><strong>Address: {address}</strong></div> '
],
variableHeights: false
}
});
在表单面板中呈现的:
Ext.define('EvaluateIt.view.Remove', {
extend: 'Ext.Container',
fullscreen: true,
config: {
layout: 'vbox',
items: [
{
xtype : 'toolbar',
docked: 'top'
},
{
flex: 1,
xtype: 'removeList'
}
]
}
});
如果列表发生更改,我该如何刷新?例如,我有一个方法,在点击列表中的一个项目时,MsgBox将提供按给定索引从商店中删除该记录的选项。在删除记录后,我尝试了加载(),但这并不能完成刷新(在浏览器中,刷新可以完成,在模拟器中,我必须退出并返回应用程序)。
这是MsgBox:
Ext.Msg.show({
title:'Are you sure?',
buttons: Ext.MessageBox.YESNO,
//animateTarget: 'mb4',
//icon: Ext.MessageBox.WARNING,
fn: function(buttonId) {
//alert('You pressed the "' + buttonId + '" button.');
if (buttonId === 'yes') {
evaluationsStore = Ext.getStore(evaluationStore);
index = evaluationStore.findExact('id', id); // get index of record
console.log('index: ' + index);
evaluationStore.removeAt(index); // remove record by index
evaluationStore.sync();
alert('It is gone!');
Ext.getStore(evaluationStore).load();
}
else {
alert('Unscathed!');
}
}
});
格拉齐!
从数据库中删除记录后,您的列表应该会自动更新。存储将生成"更新"事件,具有存储的列表将刷新其内容。你是说这样不适合你吗?