Ext一些研究笔记(持续更新)

2018-7-30

1 研究ext[button]自定义样式的问题

比较复杂(深度定制化自己页面的请绕路),建议如果需要修改button的背景颜色以及其中字体修改的可以考虑以下方案

  1. 如果要求兼容性(即兼容IE8、9)等建议使用图片方式
  2. FF、chrom可以直接支持背景颜色
  3. IE10及其以上等可以自定义样式
   /**longinButton 是需要应用的button**/
    .loginButton{
        background:#46a546;/**背景颜色**/
        border: none;!important;
    }
    .loginButton .x-btn-inner {/**button中的字体在这里设置**/
        color: #ffffff;
        font-size:18px;
        height:20px;
    }
    .loginButton.x-btn-default-small.x-btn-over{/**鼠标浮动上去的样式**/
        background: #4cc54c !important;
        border-color: #4cc54c !important;
        background-color: #4cc54c !important;
        background-image: none !important;
    }
    /**点击时的样式等各种样式也可以采取类似的方式实现**/
  1. 参考网址:https://stackoverflow.com/questions/27649281/extjs-how-to-customize-buttons
  2. 样式演示地址:https://fiddle.sencha.com/#fiddle/fim&view/editor

2 二维码配置界面

想把按钮直接放在最下面,使用bbar、tbar等时会出现一条线,样式不符合的不要使用这种了

2018-07-31

1 研究Ext[Form]字段自动换行

可以实现自动换行,需要设置布局layout:column,然后为每一个字段指定百分比的宽度。以下是示例:

Ext.define('Learn.home.LearnHome',{
    extend:'Ext.form.Panel',
    title:'测试panel',
    width:750,
    height:500,
    layout: "column",
    fieldDefaults:{
        labelWidth:70,
        labelAlign:"right"
    },
    initComponent:function(){
        var me = this;
        me.callParent();
        var fields = this.initFileds();
        Ext.each(fields,function(field,index){
            me.add(field);
        });
    },
    initFileds:function(){
        var filelds = new Array();
        var userNameFiled = {
            xtype:'textfield',
            name:'name',
            fieldLabel:'姓名',
            height:20,    
            columnWidth:.30,
            width:'100%',
            margin:'10 0 0 10'
        };
        var userNameEnFiled = {
            columnWidth:.30,
            xtype:'textfield',
            name:'enName',
            fieldLabel:'英文名',
            height:20,
            width:'100%',
            margin:'10 0 0 10'
        };    
        var userPassPortFiled = {
            xtype:'textfield',
            name:'passport',
            fieldLabel:'护照号',
            columnWidth:.30,
            height:20,
            width:'100%',
            margin:'10 0 0 10'
        };
        var outControyFiled = {
            xtype:'textfield',
            name:'outControy',
            fieldLabel:'出访国家',
            columnWidth:.30,
            height:20,
            width:'100%',
            margin:'10 0 0 10'
        };
        var newOutControyFiled = {
            xtype:'textfield',
            name:'newOutControy',
            fieldLabel:'出访国家',
            columnWidth:1,
            height:20,
            width:'100%',
            margin:'10 0 0 10'
        };
        filelds.push(userNameFiled);
        filelds.push(userNameEnFiled);
        filelds.push(userPassPortFiled);
        filelds.push(outControyFiled);
        filelds.push(newOutControyFiled);
        return filelds;
    }
});

2 研究Panel以图片为背景,然后上面写字的实现IE是否支持

button以图片做背景目前兼容性不好,可以见 2018-7-30 第一项的研究。
下面主要使用了component、container、panel以图片做背景的情况。示例代码

Ext.define('Learn.home.LearnPanelBackground',{
    extend:'Ext.panel.Panel',
    title:'以image做背景测试显示字体',
    width:700,
    height:800,
    layout:'hbox',
   // margin:'20 0 0 20',
    initComponent:function(){
        this.callParent();
        this.addPanel();
    },
    addPanel:function(){
        var me = this;
        var buttonComponent={
            xtype:'component',
            width:100,
            height:40,
            margin:'10 0 0 10',
            padding:'0 0 0 0',
            style:'background:url(image/buttonground-blue.png);font-size:16px;color:white;cursor:pointer;line-height:40px;text-align:center',
            html:'component'
        };
        var buttonContainer={
            xtype:'container',
            width:100,
            height:40,
            margin:'10 0 0 10',
            padding:'0 0 0 0',
            style:'background:url(image/buttonground-blue.png);font-size:16px;color:white;cursor:pointer;line-height:40px;text-align:center',
            html:'container'
        }
        var buttonPanel={
            xtype:'panel',
            width:100,
            height:40,
            margin:'10 0 0 10',
            padding:'0 0 0 0',
            border:false,//panel如果设置border false的话有有阴影效果
            bodyStyle:{
                background:'url(image/buttonground-blue.png)',
                fontSize:'16px',
                color:'white'
            },
            style:'cursor:pointer;line-height:40px;text-align:center',
            html:'panel'
        }
        var buttonPanelBorder={
            xtype:'panel',
            width:100,
            height:40,
            margin:'10 0 0 10',
            padding:'0 0 0 0',
            bodyStyle:{
                background:'url(image/buttonground-blue.png)',
                fontSize:'16px',
                color:'white'
            },
            style:'cursor:pointer;line-height:40px;text-align:center',
            html:'panel'
        }
        me.add(buttonComponent);
        me.add(buttonContainer);
        me.add(buttonPanel);
        me.add(buttonPanelBorder);
    }
});

Ext一些研究笔记(持续更新)_第1张图片
QQ截图20180731172626.png

后续链接 2018-08-01

你可能感兴趣的:(Ext一些研究笔记(持续更新))