ExtJS 4 或 4.1 MessageBox 自定义按钮
Posted
技术标签:
【中文标题】ExtJS 4 或 4.1 MessageBox 自定义按钮【英文标题】:ExtJS 4 or 4.1 MessageBox Custom Buttons 【发布时间】:2012-09-04 12:14:46 【问题描述】: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 不支持此代码。按钮不显示。
【问题讨论】:
【参考方案1】:刚刚发现如何做到这一点,希望它可以帮助某人。如您所见,您可以随心所欲地处理按钮。请注意,该框架默认只有 4 个按钮,这是一个不容易克服的限制。在源代码中有多个从 0 到
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
);
【讨论】:
【参考方案2】:您不能在方法 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
);
【讨论】:
【参考方案3】:使用以下代码:
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'
);
希望对你有帮助。
【讨论】:
【参考方案4】:试试这个解决方案:
<script type="text/javascript">
(function ()
Ext.override(Ext.MessageBox,
buttonText: yes: "Sí", no: "No", cancel: "Cancelar"
);
)();
</script>
【讨论】:
以上是关于ExtJS 4 或 4.1 MessageBox 自定义按钮的主要内容,如果未能解决你的问题,请参考以下文章
ExtJS 4.2.1 中 Ext.MessageBox.show(),如何解决显示不完整的问题??