ExtJS初體驗(yàn)

最近公司的一個(gè)系統(tǒng)有用到Extjs框架舰始,對(duì)于之前完全用JQuery的js插件的我來說,對(duì)Extjs的api并不熟悉。extjs是個(gè)富客戶端框架厕氨,一般用來做后臺(tái)管理系統(tǒng),封裝了非常多的控件汹粤,很龐大命斧,很復(fù)雜,學(xué)習(xí)門檻高嘱兼。jquery是一個(gè)前后臺(tái)都可以用的框架国葬,是對(duì)js的封裝,js輕量級(jí)框架芹壕。沒有封裝任何控件汇四,學(xué)習(xí)曲線小,程序員和前端必須要掌握的踢涌。
這兩天體驗(yàn)了一下通孽,如圖:

其中字典類型組件代碼:

var group_grid = Ext.create('Ext.grid.Panel', {  
        title:'字典類型列表',  
        region:'west',  
        width:'50%',  
        columnLines : true,  
        striped : true,  
        store : group_store,  
        selModel:group_selModel,  
        columns : [ {  
            xtype : 'rownumberer'  
        }, {  
            text : '編號(hào)',  
            dataIndex : 'dim_id',  
            sortable:false,  
            hideable : false,  
            flex : 1  
        }, {  
            text : '名稱',  
            dataIndex : 'dim_name',  
            sortable:false,  
            hideable : false,  
            flex : 1  
        }, {  
            text : '描述',  
            dataIndex : 'dim_description',  
            sortable:false,  
            hideable : false,  
            flex : 1  
        }],  
        bbar : Ext.create('Ext.PagingToolbar', {  
            store : group_store,  
            displayInfo : true  
        }),  
        tbar: [{  
            text: '新增',  
            handler: function() {  
                Ext.getCmp('group_add').show();  
                Ext.getCmp('group_edit').hide();  
                group_win.setTitle('新增字典類型');  
                group_Form.form.reset();  
                Ext.getCmp('group_dim_id').setValue(-1);//新增時(shí)默認(rèn)為-1,空字符會(huì)報(bào)錯(cuò)  
                group_win.show();  
            }  
        },{  
            text: '修改',  
            handler: function() {  
                var selections = group_selModel.getSelection();  
                if (selections.length == 0) {  
                    showWarningMsg("請(qǐng)先選擇一條記錄睁壁!");  
                    return;  
                }  
                group_Form.loadRecord(selections[0]);  
                Ext.getCmp('group_add').hide();  
                Ext.getCmp('group_edit').show();  
                group_win.setTitle('修改字典類型');  
                group_win.show();  
            }  
        },{  
                text: '刪除',  
                handler: function() {  
                    var selections = group_selModel.getSelection();  
                    if (selections.length == 0) {  
                        showWarningMsg("請(qǐng)先選擇一個(gè)數(shù)據(jù)字典背苦!");  
                        return;  
                    }  

當(dāng)我們?cè)谧髠?cè)點(diǎn)擊編號(hào)為3的選擇框時(shí),會(huì)通過ajax方式從后臺(tái)取數(shù)據(jù)顯示在右側(cè)維度字典列表組件中潘明,如圖

通過ajax取數(shù)據(jù)的代碼行剂,返回的數(shù)據(jù)是json形式的:

//數(shù)據(jù)字典store  
    var items_store = Ext.create('Ext.data.Store', {  
        fields:['sor_id', 'sor_name', 'sor_state','sor_attr', 'sor_description', 'sor_loadtime'],  
        proxy : {  
            type : 'ajax',  
            url : ctx + '/data/getItemsByTableName.do',  
            reader : {  
                type : 'json',  
                totalProperty : 'totalCount',  
                root : 'data'  
            }  
        }  
    });  

從上面的例子可以看到ExtJs框架非常的組件化,Ext JS庫有著豐富且漂亮的UI組件钳降,大大縮短了我們的開發(fā)周期厚宰,而且組件擁有漂亮的布局,經(jīng)過簡單的調(diào)用與配置就可以實(shí)現(xiàn)不錯(cuò)的界面布局牲阁。ExtJS提供的各種組件可以用更加標(biāo)準(zhǔn)的方式展示數(shù)據(jù)降低了開發(fā)難度固阁。

繼續(xù)演示ExtJS給我們帶來的便利,當(dāng)我們?cè)谟覀?cè)點(diǎn)擊新增時(shí)城菊,要求數(shù)據(jù)字典的值必須為值备燃,否則彈框提醒用戶,由于Extjs的特點(diǎn)只需加兩句代碼就可以搞定凌唬,如下代碼中的標(biāo)記處1和標(biāo)記處2并齐,

//字典類型添加、修改表單  
    var item_Form = Ext.create('Ext.form.Panel', {  
        width : 400,  
        height : 200,  
        frame : true,  
        layout:'anchor',  
        labelWidth:60,  
        items: [{  
            xtype : 'hiddenfield',  
            id:'sor_id',  
            name : 'sor_id',  
            anchor:'90%'  
        },  
        {  
            xtype : 'hiddenfield',  
            id:'dim_id',  
            name : 'dim_id',  
            anchor:'90%'  
        },  
            {  
            xtype : 'textfield',  
            id:'dim_name',  
            name : 'dim_name',  
            fieldLabel:'表名',  
            enabled:false,  
            anchor:'90%'  
        },{  
            xtype : 'textfield',  
            id : 'sor_name',  
            name : 'sor_name',  
            fieldLabel:'名稱',  
            allowBlank:false,  
            anchor:'90%'  
        },{  
            xtype : 'textfield',  
            id : 'sor_state',  
            name : 'sor_state',  
            fieldLabel:'值',<span style="font-size:14px;color:#ff0000;">  
           regex: /^[0-9]*$/, (標(biāo)記處1)
           regexText : '親,請(qǐng)輸入數(shù)字好嗎客税?',</span>    (標(biāo)記處2)
            allowBlank:false,  
            anchor:'90%'  
        },{  
            xtype : 'textfield',  
            id : 'sor_attr',  
            name : 'sor_attr',  
            fieldLabel:'屬性',  
            allowBlank:true,  
            anchor:'90%'  
        },{  
            xtype : 'textfield',  
            id : 'sor_description',  
            name : 'sor_description',  
            fieldLabel:'描述',  
            allowBlank:true,  
            anchor:'90%'  
        }]  
    });  

是不是感覺很簡單况褪,來看下效果:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市更耻,隨后出現(xiàn)的幾起案子测垛,更是在濱河造成了極大的恐慌,老刑警劉巖秧均,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件食侮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡目胡,警方通過查閱死者的電腦和手機(jī)锯七,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來誉己,“玉大人眉尸,你說我怎么就攤上這事【匏” “怎么了噪猾?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長筑累。 經(jīng)常有香客問我畏妖,道長,這世上最難降的妖魔是什么疼阔? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任戒劫,我火速辦了婚禮,結(jié)果婚禮上婆廊,老公的妹妹穿的比我還像新娘迅细。我一直安慰自己,他們只是感情好淘邻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布茵典。 她就那樣靜靜地躺著,像睡著了一般宾舅。 火紅的嫁衣襯著肌膚如雪统阿。 梳的紋絲不亂的頭發(fā)上彩倚,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音扶平,去河邊找鬼帆离。 笑死,一個(gè)胖子當(dāng)著我的面吹牛结澄,可吹牛的內(nèi)容都是我干的哥谷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼麻献,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼们妥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起勉吻,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤监婶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后齿桃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體压储,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年源譬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了集惋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡踩娘,死狀恐怖刮刑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情养渴,我是刑警寧澤雷绢,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站理卑,受9級(jí)特大地震影響翘紊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜藐唠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一帆疟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宇立,春花似錦踪宠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春柬脸,著一層夾襖步出監(jiān)牢的瞬間他去,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工倒堕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留灾测,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓涩馆,卻偏偏與公主長得像行施,于是被迫代替她去往敵國和親允坚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子魂那,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容