我希望用户通过捕获beforeselect
事件确认他将点击网格上的其他项目而不保存最后一项上的更改。问题是我向用户显示messageBox
确认,但事件在用户确认之前执行到最后。在用户做出选择之前,有没有办法阻止该事件?
onGridBeforeSelect() {
Ext.MessageBox.confirm('Delete', 'Are you sure ?', function(btn){
if(btn === 'yes'){
return true; //will execute select event
}
else{
return false; //woun't execute select event
}
});
}
答案 0 :(得分:0)
您可以添加一些表示需要确认的标志,如果需要则返回false,然后如果确认则再次选择,例如:
function onGridBeforeSelect(grid, record) {
if (grid.isConfirmed){
return;
}
Ext.MessageBox.confirm('Delete', 'Are you sure ?', function(btn){
if(btn === 'yes'){
grid.isConfirmed = true;
grid.setSelection(record);
grid.isConfirmed = false;
}
return false;
});
}
答案 1 :(得分:0)