sencha touch对messageBox做了很好的封装,但是不一定是我们想要的,例如:想要prompt的输入框为textarea,并且自动获得焦点。
很遗憾,Ext.Msg.prompt()是一个textfield,并且不能设置自动获得焦点。
可自定义messageBox为:
</pre><pre name="code" class="html">
var prompt = Ext.create('Ext.MessageBox',{
title:' ',
message:'Enter Access Code',
prompt:{
xtype:'textfield'//xtype:'textareafield' etc
},
buttons:[{
text:'cancle',
handler:function(btn,e,eOpts){
prompt.hide();
//do something
},
},{
text:'ok',
handler:function(btn,e,eOpts){
prompt.hide();
var text = btn.getParent().getParent().getPrompt().getValue();//get input text
//do something
},
}],
listeners:[{
event:'painted',
fn:function(){
this.getPrompt().focus()
}
}]
});
Ext.Viewport.add(prompt);
</pre>这个自定义的prompt和ST内置的<span style="font-family:Arial,Helvetica,sans-serif">Ext.Msg.prompt()表现的形式是一样。</span><pre>