0

例子:

disclose: function (list, record, node, index, event) {
    Ext.Msg.confirm('Delete Requirement', 'Are you sure?', function (id, value) {
        if (id === 'yes') {
            console.log('confirmed');

            // no access to list, record, node, ... here, why?
        }
    }, this);

    event.stopEvent();
}

如何访问确认消息处理程序中的列表和记录变量?

4

2 回答 2

2
disclose: function (list, record, node, index, event) {
    var l = list, r = record, n = node, i = index, e = event;
    Ext.Msg.confirm('Delete Requirement', 'Are you sure?', function (id, value) {
            if (id === 'yes') {
            console.log('confirmed', l, r, n, i, e);
        }
    }, this);

    event.stopEvent();
}
于 2012-10-12T03:25:43.717 回答
1

我找到了一个解决方案:

disclose: function (list, record, node, index, event) {
    (new Ext.MessageBox).show({
         title: 'Delete Requirement',
         message: 'Are you sure?',
         list: list,
         record: record,
         buttons: Ext.MessageBox.YESNO,
         promptConfig: false,
         fn: function (id, value, opt) {
             if (id === 'yes') {
                 opt.record.destroy();
             }
         }
    });

    event.stopEvent();
}
于 2012-10-11T16:07:11.723 回答