BootStrap智能表单实战系列(八)表单配置json详解


Posted in Javascript onJune 13, 2016

 本章属于该系列的高级部分,将介绍表单中一些列的配置

1、config列的配置:

主要用于控制布局 :config:{autoLayout:true|'1,2,2,4'}

true:根据配置项最里层的数量来自动使用不同的栅格,

'1,2,2,4':使用指定的栅格来布局,如果配置的列数不足的情况将使用第一项(n,n 为一项)

2、hides的配置项

hides:[{id:'xxx',value:''}]

此项是可选的,主要用于编辑时存放一些不可见的列(如主键ID的值)

3、eles 表单元素的配置(重点)

eles的配置支持2中情况,一种是分组的情况,另外一种是非分组的情况,

eles:[[],[]]

//非分组的情况,使用交叉数组存放配置列,我暂且把里层的数组称为组配置项,把组里面的配置项称为元素配置项

eles:{'groupName':[]}

//分组的情况,使用json对象来存放

组配置项里层就是单个的元素配置项了,[{ele:{id:'',name:''}}]

细心的博友发现为什么要在元素配置项里面多此一举加一个ele,然后再ele里面存放元素的属性,而不是直接放在元素配置项里面呢

当然是考虑到以后的扩展性,其实元素配置项的完整写法是:{label:{},ele:{}}

A、label:即表达元素前面的提示字符,label里面的配置项:{target:'#contain.id',className:'col-sm-2',text:'#contain.title'}

target:for的元素,默认为ele的id, className:改label上应用的class, text:显示在label中的文字,默认为ele中的title,如果ele中配置了required:true 还将会在label里层生成一个<span> 用来做校验的提示

B、ele:即真正表达元素的配置

{ 
type:'',id:'',name:'',value:'',className:'col-sm-4',
readonly:false,disable:false,extendAttr:{key:value},required:false,
render:'',
prev:{type:'button',iconClassName:'',ele{render:''}},
next:{iconClassName:'',ele{render:''}},
}

type:目前支持 text(默认)、select、radio、checkbox、textarea、datetime、search

note:当为select、radio、checkbox的时候,需要为该项设置数据源,items:[{text:'',value:'',select:'可选'}]

select:withNull:true,将会在数据源的基础上加多一些 --请选择-- 空项

checkbox:items里面的配置项可以有id、和name及select

render:'',html标签,优先级最高,当为该项设置了其他配置无效,如:render:'<input type="file" name="" id="" />'

另外针对pre和next也同样适用,pre:{ele:{render:''}}

pre:用于为元素配置特性选项,

如{ele:{pre:{text:'<input type="radio">'},type:'text',name:'DisplayName',title:'显示名称:'}} 该配置项为元素前面配置了一个单选框

效果图:

BootStrap智能表单实战系列(八)表单配置json详解

可以支持前后同时配置,详情请参照:第一章支持的简单类型

className:改表单元素适用的class,

className:'col-sm-4'

readonly:false,disable:false

用于设置元素的状态disable、readonly

value:设置元素的默认值

extendAttr:{key:value} 键值对形式,仅支持html5的data-会在元素上生成data-的前缀

demo:

extendAttr:{select:true}

会在元素上生成一个data-select=true 的扩展属性

组表单配置:'组名':[]

demo:

'个人信息':[{},{}]

以上所述是小编给大家介绍的BootStrap智能表单实战系列(八)表单配置json详解的全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js 格式化时间日期函数小结
Mar 20 Javascript
利用腾讯的ip地址库做ip物理地址定位
Jul 24 Javascript
JavaScript之Object类型介绍
Apr 01 Javascript
JS实现动态移动层及拖动浮层关闭的方法
Apr 30 Javascript
jquery图片滚动放大代码分享(2)
Aug 28 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
May 17 Javascript
JavaScript鼠标特效大全
Sep 13 Javascript
JavaScript获取用户所在城市及地理位置
Apr 21 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
Oct 30 Javascript
C#程序员入门学习微信小程序的笔记
Mar 05 Javascript
vue draggable resizable gorkys与v-chart使用与总结
Sep 05 Javascript
使用layui实现树形结构的方法
Sep 20 Javascript
BootStrap智能表单实战系列(七)验证的支持
Jun 13 #Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
Jun 13 #Javascript
js 截取或者替换字符串中的数字实现方法
Jun 13 #Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
Jun 13 #Javascript
BootStrap智能表单实战系列(四)表单布局介绍
Jun 13 #Javascript
JS/jQ实现免费获取手机验证码倒计时效果
Jun 13 #Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
Jun 13 #Javascript
You might like
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
document.getElementById介绍
2011/09/13 Javascript
Javascript处理DOM元素事件实现代码
2012/05/23 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
[02:12]2015国际邀请赛 SHOWOPEN
2015/08/05 DOTA
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
python 构造三维全零数组的方法
2018/11/12 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
python字符串查找函数的用法详解
2019/07/08 Python
flask框架路由常用定义方式总结
2019/07/23 Python
Python一键安装全部依赖包的方法
2019/08/12 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
python如何停止递归
2020/09/09 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
GOOD AMERICAN官网:为曲线性感而设计
2017/12/28 全球购物
Java程序开发中如何应用线程
2016/03/03 面试题
初三学习决心书
2014/03/11 职场文书
婚宴邀请函
2015/01/30 职场文书
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js