刷新表单面板中的列表



我有一个列表

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!');
            }   
        }   
    });

格拉齐!

从数据库中删除记录后,您的列表应该会自动更新。存储将生成"更新"事件,具有存储的列表将刷新其内容。你是说这样不适合你吗?

相关内容

  • 没有找到相关文章

最新更新