• ExtJs 备忘录(9)—— Ext常用属性、方法小结 [系列完]


    前言

       关键字:农民伯伯,Ext. is,copyTo,flatten,unique,pluck,invoke,format,grid,Array,Function,学习,笔记,总结,技巧

       接触ExtJs的时间并不长,走了很多弯路,由于短时间内不会再使用ExtJs,所有通过这系列文章汇总、梳理和补充关于ExtJs的点滴以备忘之,系列文章大部分是收集和整理,小部分自己的心得和补充,着重实践,提供完整代码,: )

    系列

      1.  ExtJs 备忘录(1)—— Form表单(一) [ 控件使用 ]
      2.  ExtJs 备忘录(2)—— Form表单(二) [ 控件封装 ]
      3.  ExtJs 备忘录(3)—— Form表单(三) [ 数据验证 ]
      4.  ExtJs 备忘录(4)—— Form表单(四) [ 数据提交 ]
      5.  ExtJs 备忘录(5)—— GirdPanl表格(一)[ 基本用法 ]
      6.  ExtJs 备忘录(6)—— GirdPanl表格(二)[ 搜索分页 ]
      7.  ExtJs 备忘录(7)—— GirdPanl表格(三)[ 统计|查看、修改单行记录 ]
      8.  ExtJs 备忘录(8)—— 管理界面搭建和其他部分控件介绍
      9.  ExtJs 备忘录(9)—— Ext常用属性、方法小结 [系列完]

    正文

      一、Ext

        1.1  Ext.isEmpty(v, allowBlank)  //是否为空[链接]

        1.2  Ext.isArray(v)     //是否为数组集合

        1.3  Ext.isPrimitive(v)    //是否是基本数据类型String/Number/Boolean

        1.4  Ext.isFunction(v)    //是否是函数

        1.5  Ext.isNumber(v)     //是否是数字

        1.6  Ext.isString(v)    //是否是字符串

        1.7  Ext.isBoolean(v)   //是否是bool值

        1.8  Ext.isIE/isIE6/isIE7/isIE8...  //判断浏览器

        1.9  Ext.isWindows/isLinux/isMac/isAir  //判断平台(操作系统)

        1.10  Ext.isDefined    //对象是否已经定义

        1.11  Ext.id(el,prefix)  //返回唯一的id值,el位元素Id,prefix为前缀

        1.12  Ext.urlEncode(o, pre)  //将JSON数据转换URL参数串,如{a:1,b:2} => a=1&b=2

        1.13  Ext.urlDecode(string, overwrite)  //将url参数列表转换成json格式数据,overwrite如果为true,则后面的同名参数值覆盖前面的同名参数值(默认为false即不覆盖而以数组形式返回)

        1.15  Ext.each(array, fn, scope)  //遍历数组,例:Ext.each([1,2,3],function(value,index,a){ //index:索引号,0开始  value:当前值 a:数组引用 });

        1.16  Ext.encode(o)    //将对象转换成json字符串,详细说明和用法:这里

        1.17  Ext.decode(o)    //将json字符串转换成对象

        [Ext-more.js]

        1.18  Ext.combine()  //数组合并

        1.19  Ext.num(value,defaultValue)  //如果是数字,直接返回本身,否则返回默认值,注意"5"这里也会返回默认值的 

        1.20  Ext.copyTo(dest, source, names)  //拷贝source中names属性列表至dest中

        1.21  Ext.unique(arr)   //剔除数组中重复的元素,让数组每个元素保持唯一

        1.22  Ext.clean(arr)     //复制数组?!

        1.23  Ext.flatten(arr)   //将多维数组转换成一维数组

        1.24  Ext.min(arr, comp)  //查找数组中最小的元素

        1.25  Ext.max(arr, comp)  //查找数组中最大的元素

        1.26  Ext.mean(arr)     //计算数组元素平均值(总和除以个数)

        1.27  Ext.partition(arr, truth)  //根据arr元素的bool值拆分成新的二维数组并返回 例1:Ext.partition([true, false, true, true, false]); // [[true, true, true], [false, false]] 例2:Ext.partition(arr,function(val){ return val == "class1" });

        1.28  Ext.invoke(arr, methodName,/*args...*/)  //执行arr数组中对象的methodName方法,args为方法的参数,返回执行结果数组

        1.29  Ext.pluck(arr, prop)  //返回数组中属性名(property name)等于prop的值的新数组 Ext.pluck(arr, "className"); => [arr1.className,arr2.className]

        1.30  Ext.zip({Arrays|NodeLists},{Function}) //压缩多个数组为一个数组, Ext.zip([1,2,3],[4,5,6]); // [[1,4],[2,5],[3,6]],支持Function自定义合并

        1.31  Ext.type(object)  //返回对象的类型:string,number,boolean,function,object,array,regexp,element,nodelist,textnode,whitespace 

      二、Ext.util.Format

        2.1  Ext.util.Format.capitalize(value);  //首字母大写
        2.2  Ext.util.Format.ellipsis(value, len, word);   //从字符串开始处截取len长度显示,超过部分用...表示;word为布尔值,为true时在前面截取的基础上再从' '、'.'、'!'、'?'关键字处截取前面(len),ellipsis("abcde.fghijkl",10,true)返回abcde
        2.3  Ext.util.Format.htmlEncode(value);   //HTML编码,将& <  >  “替换为&amp;&lt;&gt;&quot;
        2.4  Ext.util.Format.htmlDecode(value);   //HTML解码,与上面相反
        2.5  Ext.util.Format.trim(value);       //截取字符串左右的空格
        2.6  Ext.util.Format.substr(value, start, length);   //从value指定的start位置开始截取length长度的子串返回
        2.7  Ext.util.Format.lowercase(value);        //转换大写
        2.8  Ext.util.Format.uppercase(value);       //转换小写
        2.9  Ext.util.Format.stripTags(v);          //去除HTML标签:/<\/?[^>]+>/gi
        2.10  Ext.util.Format.usMoney(v);       //转换到'$'符号的货币形式
        2.11  Ext.util.Format.date(v, format);    //格式化日期输出,format默认格式"m/d/Y"
        2.12  Ext.util.Format.round(value, precision);  //四舍五入,precision指精确位数
        2.13  Ext.util.Format.number(v, format);    //格式化数字显示
        2.14  Ext.util.Format.nl2br(value);     //将字符串中的'\n'替换成'<br />'
        2.15  Ext.util.Format.fileSize(value);    //将字节数转成更大的单位KB和MB显示,fileSize(1024) = 1KB
        2.16  Ext.util.Format.defaultValue(value, defaultValue);  //如果value未定义或为空字符串则返回defaultValue
        2.17  Ext.util.Format.stripScripts(v);   //去除脚本标签
        2.18  Ext.util.Format.undef(value);    //如果value未定义,返回空字符串,反之返回value本身

      三、扩展JS原有对象

        3.1  String

          3.1.1  .format(format)  //和C#里面是一样的用法

          3.1.2  .toggle(value, other)  //交换值,如果当前值等于value,则被赋值other

        3.2  Array

          3.2.1  .indexOf(o)  //返回元素o在数组ArrayObject中的位置,找不到返回-1

          3.2.2  .remove(o)  //从数组ArrayObject删除元素o

        3.3  Function

          3.3.1  .createInterceptor(fcn, scope)  //创建阻断方法,如果fcn返回false,原方法将不会被执行,参见这里

          3.3.2  .createCallback(/*args...*/)   //创建回调,以无参的函数作为参数,但是现有的方法已经具有了参数,如果直接写上可以用这个来创建一个回调,类似于function(){ //实际的带参调用 } ,见这里1这里2

          3.3.3  .createDelegate(obj, args, appendArgs) //创建委托,与上面相比,自己可以访问obj中的属性和方法,见这里

          3.3.4  .defer(millis, obj, args, appendArgs)  //定时执行,隔millis毫秒后执行原方法,参见这里

          3.3.5  .createSequence(fcn, scope)    //Ext-more.js中,创建组合方法,执行原方法+fcn,参见这里

      四、 其他

        4.1  表单

          4.1.1  一次取得表单所有的表单元素key/value集合

            form1.form.getValues()  //form1为Ext.FormPanel,例如:

                            //注意
                            var conn = new Ext.data.Connection();
                            conn.request({
                                url: 
    'submit.aspx?method=Submit4',
                                
    //此处与params对应,如果为POST,则服务器端从Request.Form中可以取得到数据,反之从QueryString中取数据
                                method: 'POST',//GET
                                params:form1.form.getValues(),
                                success: 
    function(response, opts) {
                                     MsgInfo(response.responseText);
                                }
                            });

            form1.form.setValues(values)     //form1.form.setValues({id:1,name:'aabbcc'}) 赋值

          4.1.2  表单元素取值赋值一次取得

            4.1.2.1  form1.form.findField('TextBox').getValue()

            4.1.2.2  form1.form.getValues().TextBox

            4.1.2.3  form1.form.getFieldValues().TextBox

        4.2  切换皮肤

          Ext.util.CSS.swapStyleSheet("theme", "resources/css/ext/xtheme-orange.css");    //注意路径

    注意

      1.  本系列Ext版本为 3.0.0

      2.  最新源代码在系列文章第八篇有下载。

      3.  关于ExtJs的优点请移步至系列文章第一篇评论中我的回答,这里就不要再讨论了 :)

    文章参考和推荐

      1.  一切皆有可能关于ext的基础系列

      2.  Google:Ext API 详解

      3.  Ext研究(1)——关于Function类的一些新方法的使用

      4.  Ext.template分析

      5.  《仔仔细细分析Ext》 Ext对Function类的扩展

    结束语

      建议多看看源码和源码分析的文章,欢迎交流、补充 :)

  • 相关阅读:
    Java集合框架--Collection
    xhprof windows下安装和使用(转载)
    什么是socket
    访问国外网络的卡顿问题
    关于go的通信通道channel——chan的一些问题
    关于go的入门书籍——go自学的序
    Linux中find常见用法示例 &#183;find path -option [ -print ] [ -exec -ok command ] {} ;
    php的一个有意思的命令:-S
    看看第一篇随笔的效果
    Mysql limit
  • 原文地址:https://www.cnblogs.com/jcomet/p/1693471.html
Copyright © 2020-2023  润新知