extjs 中label使用fieldLabel 的方法,还可以添加renderer方法

这组件个完全适应formpanel的要求


Ext.form.Label = Ext.extend(Ext.form.Field, {
    onRender: function(ct, position) {
        Ext.form.Field.superclass.onRender.call(this, ct, position);
        if (!this.el) {
            var cfg = this.getAutoCreate();
            if (!cfg.name) {
                cfg.name = this.name || this.id;
            }
            if (this.inputType) {
                cfg.type = this.inputType;
            }
            this.el = ct.createChild(cfg, position);
            //this.el.wrap();              
            //var cel= this.el.createChild({tag:'LabelDiv'});              
            //this.el.addClass('x-form-field-wrap')            
            this.setValue(this.value);
        }
        if (this.tabIndex !== undefined) {
            this.el.dom.setAttribute('tabIndex', this.tabIndex);
        }
        this.el.addClass([this.fieldClass, this.cls]);
    },
    setText: function(text) {
        this.el.dom.innerHTML = text;
    },
    setValue: function(v) {
        var rendervalue;
        this.value = rendervalue = (v === null || v === undefined ? '': v);
        if (this.rendered) {
            if (this.renderer) {
                rendervalue = this.renderer(this.value, this.getName());
            }
            this.el.dom.value = this.value;
            this.setText(rendervalue);
            this.validate();
        }
    },
    defaultAutoCreate: {
        tag: "Div",
        size: "20"
    }
});
Ext.reg('label', Ext.form.Label);



 

效果图看其中的    附件: reademe.txt 效果.

效果图

 

这个在用的时候只要把xtype改成label就可以了

{

xtype:'label',

label:'姓名',

name:'xingMing'

..其它的跟textfield 在formpanel中的用法一样

}


关于  查看正文 这个按钮. 是怎么实现的. 我也忘记了,  代码太就久远了. 我回家找找看



今天是2016-8-17日, 距离我写这篇文章已经好久了.下面是我补充的.


我建议大家使用extjs要尽量缩小extjs的范围. 因为他不是那么好维护.  开发效率比较低.


使用 html去布局,  extjs控件的  renderTo 功能.  会非常简单.

例如这篇文章的用法.

http://zhidao.baidu.com/link?url=PI8QrWz9Eni86y2dnAwgbm178unHP02omxHA9rfDSo3DxDbR8e_HU8nrAUUG4el88-cXkXaCDqr7BfJhcVlir_


 重点是  renderTo:"appConId"

 
然后 最好不要使用extjs的 按钮和文本框之类的东西.  只用extjs的  combox 和grid, 日期选择框  就够了.  其它的还是用html 原生的比较高效.

把extjs的应用范围减少到最小.  

extjs的开发效率比较低.    很复杂.  



评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值