Hi,久违了。处暑逼近之际,潜水半年的 layui 是时候出来透透气了。我们带来的是全新的 2.0 版本,一次被我们定义为“破茧重生”的倾情之作。如果你已曾用过 layui,你将真正感受到一次因小而大、因弱而强的成长。在前端MVVM野蛮生长的时代,layui 这样一个近乎有些不随潮流的UI解决方案,依旧在守望它的执念。它所呈现的不仅仅是一项项信手拈来的元素,更多是关于UI设计理念的表达。不骄不躁,亲和而富有生命力。返璞归真,却非逆道而行。
2.0 是 layui 的一次里程碑式版本,它的意义并不只是那几项肤浅的更新,而是自此开始,layui 进入一段复活之旅。
更新日志
Table 表格
-
新增的全新模块,用于对表格进行一些列功能和动态数据操作
-
支持固定表头、固定行、固定列左/列右
-
支持拖拽改变列宽度
-
支持多级表头
-
支持大表格、小表格、默认表格的任意尺寸设定
-
支持多种表格风格设定
-
支持“Ajax接口获取”、“直接赋值数据”、“转化现有表格”三种初始化渲染方式
-
支持单元格的自定义模板
-
支持对表格重载(比如搜索、条件筛选等)
-
内置checkbox复选框功能
-
内置自定义工具条及相关操作功能
-
内置分页功能
-
内置字段排序功能
-
内置单元格编辑功能
-
内置显示单元格更多内容功能
Carousel 轮播
-
新增的全新模块,用于处理页面轮播逻辑
-
支持图片、文字列表等任意内容的切换
-
支持普通轮播和全屏轮播(FullPage)的设定
-
支持多种切换动画的设定
-
支持是否自动切换、自动切换的时间间隔的设定
-
支持初始开始的条目索引的设定
-
支持箭头和指示器的风格和位置设定
Layout 布局
-
新增栅格布局系统
-
栅格采用12等分,内置移动设备、平板、桌面中等和大型屏幕的响应式处理
-
栅格支持分栏间隔、列偏移、嵌套,流体布局等
-
栅格最低能支持到ie8
-
新增后台大框架布局现成方案
layDate 日期时间选择器
-
全面重写,可作为独立组件(版本直接跃升为 5.0)
-
依旧采用原生JavaScript编写,零依赖,可在layui中作为模块使用,也可作为独立组件使用
-
支持单独显示年选择器、年月选择器、日期选择器、时间选择器、日期时间选择器
-
支持双控件,用于选择年/年月/日期/时间/日期时间五种类型选择器的范围(可顺时、逆时)
-
支持日期格式的自定义
-
支持日期是否合法的自动校验
-
支持有效日期范围的设定
-
支持内置事件(可自定义)、外部事件、直接显示等多种调用方式
-
支持中文版和国际版的语言设定
-
支持开启公历节日和标记重要日期
-
支持直接嵌套在页面的某个容器中
-
支持底部按钮的任意顺序排版
-
支持智能显示在最佳可视坐标
-
支持回车快捷键选择
-
支持多种内置主题的设定,支持自定义主题色,且可单独定制主题
Upload 上传
-
全面重写
-
可指定任意元素(如按钮、普通div等)来触发上传
-
支持选择后自动上传和手工上传两种模式
-
支持附加参数、支持自定义文件name等
-
支持多文件上传(ie8/9除外)
-
支持拖拽文件上传(ie8/9除外)
-
支持文件大小限制,单位kb(ie8/9除外)
-
支持图片上传前预览(ie8/9除外)
-
支持文件跨域上传(ie8/9除外)
layPage 分页
-
核心代码和接口重写
-
新增“数据总数”、“每页条数”显示区域
-
支持自定义排版
-
新增count参数,用于得到数据总数,并剔除了pages参数(分页总数)
-
新增limits参数,用于设定每页条数的选择项
-
新增limit参数,用于设定每页条数的默认项
-
优化跳页框在输入非数字时的校验
-
总页数低于2时,仍然输出分页结构(前面版本不会显示)
-
尾页文本默认显示为总页数
-
跳页框如果输入的页码大于最大页数,则自动跳到最大页
-
样式优化
Form 表单集合
-
select组件增加自动上下判断,用于显示在最佳可视区域
-
select组件允许出现“请选择”的空值选项
-
form.render(type, filter)方法增加第二个参数,用于指定某个区域进行局部渲染
-
优化复选框样式,以更友好地用于非form场景中
-
form.on方法支持链式写法
Layer 弹层
-
同步到最新的 layer v3.1.0
-
增加maxHeight参数,用于设定弹层的最大高度
-
对默认按钮颜色、Tips层、Prompt层、Tab层等进行了样式微调,以便更显大气,且更符合layui风格
Element 页面元素
-
新增时间轴元素
-
新增徽章元素
-
新增动画CSS类文档
-
导航UI细节优化,并新增三种主题色支持:墨绿/藏青/蓝
-
导航支持加入图片
-
分割线新增可支持的颜色:赤/橙/墨绿/藏青/蓝/黑/灰
-
Tab选项卡UI微调
-
element模块输出的接口由先前的函数改为对象
Util 工具集
-
新增倒计时方法:util.countdown()
-
新增用于得到“某个时间在当前时间的多久前”的方法:util.timeAgo()
-
[固定块] 新增 showHeight 参数,用于控制出现TOP按钮的滚动条高度临界值
底层方法
-
新增 layui.sort(obj, key, desc) 方法,用于将数组中的对象按某个成员重新对该数组排序
-
改写layui.router()方法,以更好地解析location.hash的单页URL规则
其它更改
-
新增28个字体图标
-
剔除全局滚动条样式
-
获取内置的jQuery接口,可通过 var $ = layui.$; 得到,之前的 layui.jquery仍然可用
-
layui.css大量样式结构优化
Bug Fix
-
修复select组件在没有任何option的情况下报错的问题
-
修复导航多个排列在一起时,hover出现异常的问题
-
修复layui.device()方法在Chrome设备模式无法识别ios环境的问题
-
修复IE下,多次执行layui.use加载同一个模块时,控制台出现多条重复请求的问题(实际上不是真实请求)
1.x 升 2.0 特别注意事项
-
layDate日期模块、layPage分页模块、Upload上传模块等等,均已完全重写,请按照最新文档修改
-
获取 Form 模块接口,由之前的 var form = layui.form() 改为:var form = layui.form
-
获取 Element 模块接口,由之前的 var element = layui.element() 改为:var element = layui.element
-
layui.all.js 的目录调整到跟 layui.js 的同级目录,如有使用到 layui.all.js,请注意修改路径
-
由于改动较大,2.0其实并不兼容1.x,强烈不推荐覆盖升级。官网仍会保留 1.x 的存档,最好按需升级。
http://www.oschina.net/news/87927/layui-2-0-0-released