Ext.MessageBox.show({
title:'Messagebox Title',
msg: 'Are you sure want to delete?',
buttons: {yes: "Some Button 1",no: "Some Button 2",cancel: "Some Button 3"}
});
ExtJS 4 或 4.1 不支持此代码。按钮不显示。
刚刚发现如何做到这一点,希望它可以帮助某人。如您所见,您可以随心所欲地处理按钮。请注意,该框架默认只有 4 个按钮,这是一个不容易克服的限制。在源代码中有多个从 0 到 < 4 的硬编码循环。
Ext.MessageBox.show({
title:'Messagebox Title',
msg: 'Are you sure want to delete?',
buttonText: {yes: "Some Button 1",no: "Some Button 2",cancel: "Some Button 3"},
fn: function(btn){
console.debug('you clicked: ',btn); //you clicked: yes
}
});
您不能在方法 show 中执行此操作,因为方法中的按钮配置将标识要显示的按钮的数字作为参数。您可以做的是预先定义您的消息框,然后显示它。
var win = Ext.create('Ext.window.MessageBox', {
width:300,
height: 100,
buttons: [
{text: 'My button 1'},{
text: 'My button 2'}
]
});
win.show({
title:'Messagebox Title',
msg: 'Are you sure want to delete?',
icon: Ext.Msg.QUESTION
});
使用以下代码:
Ext.MessageBox.show({
title:'Messagebox Title',
msg: 'Are you sure want to delete?',
buttonText: {
yes: 'Some Button 1',
no: 'Some Button 2',
cancel: 'Some Button 3'
}
});
希望它会帮助你。
试试这个解决方案:
<script type="text/javascript">
(function () {
Ext.override(Ext.MessageBox, {
buttonText: { yes: "Sí", no: "No", cancel: "Cancelar" }
});
})();
</script>