我有一个清单
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'
}
]
}
});
如果列表发生变化,如何刷新列表?例如,我有一个方法,对列表中的项目进行 onTap 时,MsgBox 将提供通过给定索引从存储中删除该记录的选项。我在删除记录后尝试了 load() ,但这并没有进行刷新(在浏览器中刷新,在模拟器中,我必须退出并返回应用程序)。
这是消息框:
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!');
}
}
});
感恩!