初學ExtJs,做項目的時候想做一個這樣的效果:點擊按鈕彈出對話框,之前一直是使用EasyUi來做的,
EasyUi里有Dialog,用起來很方便,但是現在轉移到ExtJs上后,發現沒有Dialog這樣的框架,在網上找了沒有找到這樣的
控件,於是搜索一下關於ExtJs 對話框的實現方法,現在將實現結果貼出來,如果有什么想法,希望多多留言!
Ext.get("btn_edit").on("click", function () {
var form = new Ext.FormPanel({
//labelAlign: 'top',
bodyStyle: 'padding:5px 5px 0',
layout: 'form',
items: [
{
xtype: 'textfield',
name: 'title',
anchor: '100%'
}, {
xtype: 'htmleditor',
border: true,
id: 'context',
plugins: [
Ext.create('Ext.zc.form.HtmlEditorImage')
],
height: 400,
anchor: '100%'
}
],
buttonAlign: 'center',
buttons: [
{
text: '保存',
icon: '../../../Images/extjs/disk.png',
handler: function () {
var text = form.getForm().findField('context').getValue();
alert(text);
}
}, {
text: '關閉',
icon: '../../../Images/extjs/cross.png',
handler: function () {
win.close(this);
}
}
]
});
var win = Ext.create("Ext.window.Window", {
title: "編輯", //標題
draggable: false,
icon: '../../../Images/extjs/pencil.png',
height: 600, //高度
width: 800, //寬度
layout: "fit", //窗口布局類型
modal: true, //是否模態窗口,默認為false
resizable: false,
items: [form]
});
win.show();
});
});
講解:
首先用一個按鈕監聽器,監聽按鈕的動作,當點擊按鈕后,先創建一個FormPanel,這個面板里創建的是一些基本的控件,這里就不講了,
然后創建一個窗口,將剛才創建的面板作為這個窗口的items,這樣一個form表單的窗口就創建好了,接下來就是將它顯示出來,
如上面的代碼win.show(),注意,同時將窗口代碼設置成modal:true,這樣就是一個完整的窗口顯示!
