ExtJs 4.2.1 點擊按鈕彈出表單的窗口


  初學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,這樣就是一個完整的窗口顯示!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM