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