浏览 4138 次
锁定老帖子 主题:Ext.form表单中各种属性应用详解
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-14
最后修改:2009-12-14
继承自Ext.form.TextField,因为Ext.form.TextField虽然强大,但写起来的确还是有点麻烦,后面的类都继承自Ext.form.TextField,没有自定义的方法,属性和事件 config定义为{ allowDecimals : Boolean //true allowNegative : Boolean //true baseChars : String //'0123456789' decimalPrecision : Number //精度,默认值2 decimalSeparator : String //小数分隔符 fieldClass : String //默认样式为x-form-field x-form-num-field maxText : String maxValue : Number //默认Number.MAX_VALUE minText : String minValue : Number //默认Number.NEGATIVE_INFINITY nanText : String //NaN时显示? } Ext.form.TextArea config{ autoCreate : String/Object //{tag: "textarea", style: "width:100px;height:60px;", autocomplete: "off"} growMax : Number //1000 growMin : Number //60 preventScrollbars : Boolean //如果为真等于设置overflow: hidden,默认为false } Ext.form.TriggerField 这个类只要text旁边加了个下拉按钮,要自己实现onTriggerClick config{ autoCreate : String/Object, //{tag: "input", type: "text", size: "16", autocomplete: "off"} hideTrigger : Boolean //隐藏trigger,就是右边的那个下拉选择框 triggerClass : String } 事件 onTriggerClick( EventObject e ) : void Ext.form.DateField 继承自TriggerField,用于日期选择 config{ altFormats : String //转换用户输入到日期时的格式,默认'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d' autoCreate : String/Object //{tag: "input", type: "text", size: "10", autocomplete: "off"} disabledDates : Array //禁止选择的日期:例 ["^03","04/../2006","09/16/2003"],不让选3月,2006年4月,2003年9月16 disabledDatesText : String //不让选总得给个理由吧 disabledDays : Array //不让选星期几,例[0,6],不让选周六,周日 disabledDaysText : String //周日要休息,这就是理由 format : String //显示时的格式 invalidText : String //验证非法时的提示 maxText : String maxValue : Date/String minText : String minValue : Date/String triggerClass : String } 方法,除了构造,多了两个顾名思义的方法 DateField( Object config ) getValue() : Date setValue( String/Date date ) : void Ext.form.ComboBox config{ allQuery : String //'' autoCreate : Boolean/Object //{tag: "input", type: "text", size: "24", autocomplete: "off"} displayField : String //显示字段 editable : Boolean //true当然就是combobox了,如果不可编辑就是一个select了 forceSelection : Boolean handleHeight : Number //如果resiable为真时,设置 hiddenName : String lazyInit : Boolean //除非得到焦点才开始初始化列表,默认为真 lazyRender : Boolean //除非请求,才开始输出,默认为假 listAlign : String //对齐方式,参见Ext.Element.alignTo,默认为'tl-bl' listClass : String listWidth : Number loadingText : String //仅当mode = 'remote'时调用数据时显示的文本 maxHeight : Number //300 minChars : Number //最少输入多少个字开始响应,远程时默认为4,本地为0,如果不可编辑则此值无效 minListWidth : Number mode : String //可选值local/remote之一,从本地还是远程取数据 pageSize : Number //在远程模式下,如果此值大于0会在底部显示一个翻页工具条 queryDelay : Number //查询延时,远程默认为500,本地10 queryParam : String //查询参数,默认为query resizable : Boolean selectOnFocus : Boolean selectedClass : String shadow : Boolean/String //True或"sides"为默认风格, "frame" for 4-way shadow, and "drop" for bottom-right store : Ext.data.Store title : String transform : Mixed //对应一个select元素,可以将select转为combobox对象 triggerAction : String //点击按钮时的动作.默认为query triggerClass : String typeAhead : Boolean //false typeAheadDelay : Number //250 valueField : String valueNotFoundText : String //值不存在时的提示信息 } 属性 view : Ext.DataView 方法 ComboBox( Object config ) 构造 clearValue() : void 清除所有文本/值对 collapse() : void expand() : void 收起/展开下拉列表 doQuery( String query, Boolean forceAll ) : void 执行查询 getValue() : String 选择当前字段的值 isExpanded() : void 下拉列表是展开的? select( Number index, Boolean scrollIntoView ) : void 选中第index列表项 selectByValue( String value, Boolean scrollIntoView ) : Boolean 选中值为value的列表项 setEditable( Boolean value ) : void 设editable属性为value setValue( String value ) : void 设置当前值为 事件 beforequery : ( Object queryEvent ) beforeselect : ( Ext.form.ComboBox combo, Ext.data.Record record, Number index ) collapse : ( Ext.form.ComboBox combo ) expand : ( Ext.form.ComboBox combo ) select : ( Ext.form.ComboBox combo, Ext.data.Record record, Number index ) Ext.form.TimeField 继承自combobox,用于选择时间 config{ altFormats : String // format : String increment : Number //时间增长间隔,默认15 invalidText : String maxText : String maxValue : Date/String minText : String minValue : Date/String } 总的来说Ext.form对input type='text' select 这样的输入标签都有对应的类,并对有些标签做了简单的扩展,当然很重要的一点,漂亮多了,vtype属性也方便了处理,建议有兴趣的同胞对 Ext.form.VTypes和Ext.form.HtmlEditor做一些扩展 form中还有两个类,比如下例中的FormPanel和FieldSet, 都继承自panel,所以会放在panel中解释 综合示例 Ext.QuickTips.init(); var arr=[ [1, '本.拉登'], [2, '笨.拉登'],[3, '笨.拉灯'] ]; var reader = new Ext.data.ArrayReader( ...{id: 0}, [ ...{name: 'value'}, ...{name: 'key'} ]); var store=new Ext.data.Store(...{ reader:reader }); store.loadData(arr); var htmleditor=new Ext.form.HtmlEditor(...{ fieldLabel:'htmleditor', width:450, fontFamilies:['宋体','隶书'], name:'editor', id:'editor' }); var form = new Ext.FormPanel(...{ labelWidth: 75, url:'post.php', frame:true, width: 800, defaultType: 'textfield', items: [ new Ext.form.Checkbox(...{ //checkbox fieldLabel:'checkbox', name:'cb', checked:true, boxLabel:'checkbox' }), new Ext.form.FieldSet(...{ //radio border:false, title:'radio', items:[ new Ext.form.Radio(...{ labelSeparator:'', name:'radio', checked:true, boxLabel:'radio 1' }), new Ext.form.Radio(...{ labelSeparator:'', name:'radio', checked:true, boxLabel:'radio 2' }) ] }), new Ext.form.Hidden(...{ //hidden name:'hidden' }), htmleditor, new Ext.form.TextField(...{ //text fieldLabel:'text', name:'text', grow:true, allowBlank:false, blankText : "这个字段最好不要为空", maskRe:/[a-zA-z]/gi }), new Ext.form.NumberField(...{ //NumberField allowNegative:true, fieldLabel:'number', name:'number' }), new Ext.form.TextArea(...{ //TextArea fieldLabel:'textarea', name:'textarea' }), new Ext.form.TriggerField(...{ //TriggerField fieldLabel:'TriggerField', name:'TriggerField' }), new Ext.form.ComboBox(...{ //select fieldLabel:'select', editable:false, triggerAction: 'all', valueField:'value', displayField:'key', mode: 'local', store:store }), new Ext.form.ComboBox(...{ //combobox fieldLabel:'ComboBox', displayField:'key', mode: 'local', store:store }), new Ext.form.DateField(...{ //DateField fieldLabel:'DateField', format:'Y-m-d', disabledDays:[0,6] }), new Ext.form.TimeField(...{//TimeField fieldLabel:'TimeField', mode: 'local', increment:60 }) ] }); form.render(document.body); htmleditor.setRawValue("<h1>hello world</h1>"); htmleditor.syncValue(); 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-01-11
外文翻译?
|
|
返回顶楼 | |