--- title: 更新日志 toc: true --- # 更新日志

2.8.x

> 导读:📑 [Layui 2.8 《升级指南》](/notes/2.8/upgrade-guide.html) · 📑 [Layui 新版文档站上线初衷](/notes/2.8/news.html)

2.8.18-rc.5 2023-10-31

- #### form - 新增 `input` 数字输入框组件的特定属性 `lay-precision`,用于设置数值精度 # 1375/I81SY4 - 优化 `input` 数字输入框组件的失去焦点对值的有效范围约束 # 1375/I7KU6V - 优化 `input` 数字输入框组件当值达到临界点时加减按钮的禁用视觉效果 # 1375 - 优化 `input` 数字输入框当表单验证失败时的边框颜色 # 1371 - #### nav - 新增 垂直导航菜单展开和收缩时的过渡动画 # 1407 - 新增 `lay-accordion` 属性支持,用于开启手风琴,兼容旧版 `lay-shrink="all"` # 1384 - #### layer - 新增 `photos` 层的鼠标滚轮缩放功能 # I7ZAE8 - 优化 移动端定位 # 1376 - #### table - 新增 `complete` 属性,当数据接口请求完成后执行,无论成功还是失败均会触发 # 1379 - 修复 `ignoreExport` 表头属性值效果与文档不符的问题 # I86DBY - 修复 `type: 'radio'` 且为右侧固定列时,选择效果无效的问题 # 1406 - 优化 鼠标在固定列滚轮时无法触发滚动条的问题 # I8CGZH - 优化 某些情况在 Firefox 的报错问题 - #### treeTable - 修复 `treeTable.removeNode()` 在开启 `data` 模式时删除异常问题 # I7Z0AB/I82E2S - 修复 `treeTable.setRowChecked()` 方法未逐层展开上级节点的问题 # 1385/I84RUT - 修复 `treeTable.addNodes()` 新增根节点时出现的报错问题 # 1414 - 修复 数据格式为简单类型时 IE9+ 兼容问题 # 1415/I8C04Y - #### upload - 修复 `unified: true` 时的报错问题 # 1391 - 优化 渲染入口逻辑,以解决因重复渲染导致的若干问题 # 1391 - 优化 实例的 `reload` 方法,可更好地进行完整重载 # 1391 - #### dropdown / menu - 新增 `accordion` 属性,开启手风琴效果(menu: 主容器设置 `lay-accordion` 属性) # 1397 - 新增 折叠展开动画效果 # 1397 - #### laydate - 优化 `rangeLinked` 属性开启时,点击目标元素可重新渲染的问题 # 1391 - 优化 `type` 为 `time,datetime` 选择器时,「现在」按钮的禁用状态判断条件 # I828CD - #### laypage - 新增 `limitTemplet` 属性,用于自定义条目模板 # I80AHZ - 新增 `skipText` 属性,用于自定义跳页区域文本 # I80AHZ - #### carousel - 优化 轮播切换时的动画效果 # 1378/I82STP - #### rate / slider - 优化 代码细节 # 1374 - #### code - 新增 `code` 属性,用于设置原始 code 值,优先级高于目标元素中的内容 # 1391 - 优化 预览区域显示效果 # 1398 - 优化 其他若干小问题 # 1391 - #### 其他 - 新增 Source Maps 支持 # 1404/I89W5P - 新增 lay 模块部分函数 JSDoc 注释和示例 #1401 - 优化 `
` 全局样式优先级 # I86R6G ### 下载: [layui-v2.8.18.rc.5.zip](https://gitee.com/layui/layui/attach_files/1570260/download) ---

2.8.17 2023-09-11

- #### table - 新增 `cellExpandedMode` 基础属性,用于设置所有单元格默认展开方式 # I7XW28 [8bd8415] - 新增 `cellExpandedWidth` 基础属性,用于设置所有单元格默认展开后的宽度 [8bd8415] - 新增 `expandedMode` 表头属性,用于设置当前表头单元格展开方式,优先级高于 `cellExpandedMode` [8bd8415] - 修复 导出来自 treeTable 数据的顺序错乱问题 # I7YOXZ [3123adf] - #### form - 优化 验证机制,以确保自定义验证规则的灵活性,内置规则若为必填项,依旧需叠加 `required` 规则 [a00ecf2] - 剔除 `verIncludeRequired` 全局属性,因为会造成不必要的歧义 [a00ecf2] - #### laydate - 修复 开启 `rangeLinked` 属性后,done 函数第二个参数未能正确返回开始日期的问题 #I7XBOA/I7YCHW [4d9365e] - 修复 开启 `rangeLinked` 且 `range` 为数组时,当初始值格式不符而自动校正导致的开始日期表单赋值异常问题 [4d9365e] - #### upload - 新增 `dataType` 属性,用于定义服务端返回的数据类型 [58e675c] - 优化 多文件模式中,正在上传中的文件会被再次触发上传的问题 # I7XXTW/I4C6XE [9a6b85f] - #### code - 重构 主体结构,以更好地适配第三方语法高亮库 # 1352 [ad5935c] - 新增 实例返回的对象,包含对当前实例进行重载等方法成员 [ad5935c] - 新增 `codeRender` 函数,用于重新渲染 code,譬如代码高亮处理 # 1352 - 新增 `highlighter` 属性,用于指定语法高亮器,支持 `hljs,prism,shiki` 等流行库 # 1352 - 新增 `lang` 属性,用于指定语言类型 # 1352 - 新增 `langMarker` 属性,用于是否在代码域右上角显示语言类型 # 1352 - 新增 `wordWrap` 属性,用于设置文字是否自动换行 [ad5935c] - 加强 `tools` 属性,进一步提升可扩展性 [ad5935c] - 优化 `dark` 模式主题,与 vscode 保持一致 [ad5935c] - #### lay - 新增 `lay.clipboard.writeText(options)` 方法,用于写入剪切板(复制) [5a00d0a] - #### 公共类 - 新增 `layui-padding-*` 和 `layui-margin-*` 内外边距样式类名 [5e0d71d] ### 下载: [layui-v2.8.17.zip](https://gitee.com/layui/layui/attach_files/1523966/download) ---

2.8.16 2023-08-30

- #### layer - 新增 `photos` 的 `toolbar` 属性,用于开启图片旋转 放大 缩小 还原等头部工具栏 # 1339 - 调整 `photos` 的 属性名: `hideFooter → footer`,用于是否开启底部栏 - #### table - 优化 初始化时的样式渲染及多行模式的内容结构 - 优化 `size` 为 `sm` / `lg` 时的展开状态 - 优化 无数据时的导出和打印功能提示 # 1337 - 优化 数据项为禁用状态的选中状态 # 1328 - 优化 `table.renderData()` 方法执行了多余排序的问题 # 1358 - #### treeTable - 修复 部分操作之后 `radio` 列选中状态丢失的问题 # 1358 - 修复 `data` 模式下排序之后出现节点结构错乱的问题 # 1358/I7TXXL - 优化 `data.cascade` 属性,新增 `none` 可选值,即操作节点时不做任何联动 # 1358 - 优化 数据项为禁用状态时的全选复选框的状态 # 1329 - 优化 异步加载子节点为空时的展开状态 # 1326 - #### laydate - 优化 `shortcuts.value` 快捷选项的赋值属性,支持函数类型 # 1324 - #### rate - 优化 代码书写格式 # 1343 - #### code - 修复 自定义工具栏出现的报错问题 # 1342 - 优化 复制功能,以兼容非安全域下复制失败的问题 #1356 - 优化 预览区未能显示滚动条的问题 # 1359 ### 下载: [layui-v2.8.16.zip](https://gitee.com/layui/layui/attach_files/1511975/download) ---

2.8.15 2023-08-16

- #### table - 新增 `expandedWidth` 表头属性,用于设置单元格被展开后的宽度 - 优化 单元格内容下拉展开状态面板,以解决此前因展开后内容不可操作等问题 # I7RS8S - 优化 `table.reload()` 造成 `window resize` 事件重复绑定的问题 # I7RJWY - 优化 多行模式在 Firefox 的内容显示问题 - #### layer - 优化 开启默认动画弹出层后,鼠标移入按钮出现往上偏移的问题 # I7QVVP - 优化 弹层右上角关闭按钮因上个版本更新导致的主题样式异常问题 # I7TP11 - #### dropdown - 新增 `customName` 属性,用于自定义 `data` 属性中常用的字段名称 - 修复 在某些特殊情况下调整浏览器窗口尺寸时出现的 `resize` 事件报错问题 - #### tree - 新增 `customName` 属性,用于自定义 `data` 中常用的字段名称 - #### lay - 新增 `lay.style()` 方法,用于向页面创建 style 样式 - 优化 `lay.position()` 方法,可让下拉弹出元素的定位更智能 ### 下载: [layui-v2.8.15.zip](https://gitee.com/layui/layui/attach_files/1499232/download) --- 因 `2.8.14` 版本存在 layer 主题样式异常问题,`2.8.14` 已被跳过。 ---

2.8.13 2023-08-08

- #### table - 优化 在自定义模板中放置 `checkbox` 时对应的文字显示异常问题 # I7LQNO - 优化 `totalRow` 属性在 `table.reloadData()` 数据重载时的支持 # I7R6VY - #### treeTable - 修复 执行 `treeTable.addNodes()` 增加节点导致当前节点选中状态丢失的问题 # I7Q6IP - 优化 删除节点时,对容器尺寸重新进行自动适配 - #### tree - 优化 容器样式,以解决用于其他组件内部可能造成的样式异常问题 # I7QAO3 - #### dropdown - **调整** `data.title` 属性对 HTML 的转义处理。若不转义,可通过 `templet` 属性实现 # I7Q6IV - #### util - 重构 `util.toDateString()` 转换日期格式字符组件,以提供更强大的占位符支持 # 1314 - 修复 `util.fixbar()` 组件因 `default` 属性在 IE8 出现的保留字报错问题 ### 下载: [layui-v2.8.13.zip](https://gitee.com/layui/layui/attach_files/1490273/download) ---

2.8.12 2023-08-01

- #### form - 优化 `input` 数字输入框在前置后置结构中的样式 # I7KTQB - #### layer - 修复 设置 `scrollbar` 属性禁用页面滚动条时,点击最大化再还原导致滚动条又重新出现的问题 # I7NTGX - 修复 弹层容器中的 `id` 值与其他弹层索引值相同时,导致关闭弹层存在冲突问题 # I7PF0O - #### upload - 修复 `auto: false` 时,打开文件选择框并点击取消后,导致文件上传失效的问题 # I7NU31 - #### treeTable - 新增 `tree.data.cascade` 属性,用于设置复选的级联方式,默认 `all` # 1309 - 修复 右侧固定列选中背景色没有和主体选中状态保持同步的问题 # I7NVCU - 调整 树形转平铺的方法,保留节点的 `children` 信息 # 1309 - 调整 重载时的参数拷贝,由默认深拷贝换成默认浅拷贝,以便与 table 组件保持一致 # 1309/I7NN0O - #### tree - 优化 `checked` 属性赋值机制,若初始数据源存在该属性,才对其进行动态赋值 - 优化 `spread` 属性赋值机制,若初始数据源存在该属性,则展开和收缩时,自动对其更新状态值 - #### 其他 - 修正 code 中部分单词拼写错误 # 1310 ### 下载: [layui-v2.8.12.zip](https://gitee.com/layui/layui/attach_files/1482367/download) ---

2.8.11 2023-07-13

- #### form - 修复 `radio` 标题模板中若存在图标,选中时该图标被强制更改的问题 # I7IERB - 优化 `input` 数字输入框的精度问题 # I7I7J2 - 修正 `verIncludelRequired` 属性名为 `verIncludeRequired` # 1305 - #### table - 修复 导出统计行中若存在逗号出现的内容分隔异常问题 # I7IDA3 - 修复 当点击筛选显示隐藏固定列时出现的未对齐的问题 # I7KQ0O - #### menu - 修复 `menu` 标题项自定义图标在展开收缩后被强制更改的问题 # 1303/I7JAPU - #### tree - 修复 点击复选框时未将对应的数据中的 `checked` 属性值进行同步的问题 ### 下载: [layui-v2.8.11.zip](https://gitee.com/layui/layui/attach_files/1464525/download) ---

2.8.10 2023-07-03

- 修复 `layui.js` 在 IE 和 Safari 等「古董浏览器」存在一个正则零宽断言报错的问题 # I7HZCZ/I7I0TO ### 下载: [layui-v2.8.10.zip](https://gitee.com/layui/layui/attach_files/1455365/download) ---

2.8.9 2023-07-03

- #### form - 新增 `input` 数字输入框组件,通过动态点缀 `lay-affix="number"` 属性开启 - 优化 `input,textarea` 禁用状态时的样式 # I7GN5Z - #### table - 优化 点击单元格出现编辑框时,不触发行事件 - #### treeTable - 修复 选中和取消选中时,父节点和子节点的选中背景色未能正确同步的问题 # I7FUD6 - #### upload - 新增 `text` 属性,用于自定义内部各类场景下的提示文本 - #### util - 重构 `countdown` 倒计时组件,采用 `options` 参数写法,但仍对旧版兼容 - 新增 `countdown` 的 `date,now,clock,done` 等属性 - 新增 `countdown` 的 `clear,reload` 等实例方法,用于清除和重置倒计时等操作 ### 下载: [~~layui-v2.8.9.zip~~](https://gitee.com/layui/layui/attach_files/1454465/download) ---

2.8.8 2023-06-20

- #### form - 新增 `input` 获取焦点时的光环效果,以提升当前活动输入框的辨别度 - 取消 上个版本对 `select` 开启搜索时 `value` 的改动,由于存在若干不可控的影响 - #### table - 新增 `colTool` 事件,点击表头自定义元素触发,并返回当前列的相关信息,提升 table 的可玩性 - 新增 `row,tool,checkbox,radio` 事件返回的 `dataCache` 属性,可获得当前行缓存数据,包含特定字段 - #### upload - 新增 `unified` 属性,用于选择多文件时是否统一上传,即只发送一次请求 # I6Z171 - #### 其他 - 优化 `layui.js,layer.js` 部分代码细节 # 1285 ### 下载: [layui-v2.8.8.zip](https://gitee.com/layui/layui/attach_files/1444541/download) ---

2.8.7 2023-06-16

- #### form - ~~优化 `select` 开启搜索时输入状态,将值转移到 `placeholder`,便于输入~~ # 1280
*注:由于存在若干影响,该项功能已在 `2.8.8` 中取消* - #### table - 新增 表头复选框的半选效果,当数据项部分选中且未全选时显示 - 优化 `table.setRowChecked()` 方法,新增当前行选中背景色,便于与 hover 等活动背景色区分 - 剔除 `table.setRowChecked()` 方法中的 `selectedStyle` 属性,因为没有实质意义 - 优化 表头部分字段为 `hide` 在数据异常的情况下可能出现的表头错位的问题 # 1281 - 优化 `done` 回调函数,新增参数 `origin` 用于区分重载和重新渲染数据 # 1281 - 加强 `ignoreExport` 表头属性,允许指定不排除哪些字段 # 1281 - #### treeTable - 新增 `view.expandAllDefault` 属性,用于设置是否默认展开全部节点 # 1281 - 修复 开启排序且在 `done` 回调中执行了 `expandAll` 展开全部导致死循环问题 # 1281 - 修复 执行 `treeTable.reload(id)` 若 `id` 未匹配到对应实例时出现的报错问题 # 1281/I7CXLN - #### grid - 修复 space30 和 space32 边距相同的问题 # I7D7YP ### 下载: [layui-v2.8.7.zip](https://gitee.com/layui/layui/attach_files/1441026/download) ---

2.8.6 2023-06-08

- #### table - 新增 `table.renderData(id)` 方法,用于重新渲染数据,可搭配 `table.cache` 使用 # 1273 - 修复 `table.hideCol(id, cols)` 第二个参数为普通对象时的异常问题 # 1270/I7AAUN - 修复 多级表头在某些缩放比例的情况下出现表头跟表体错位问题 # 1273/I7A33T - 修复 `table.getTrHtml()` 方法 `tr` 节点代码中的 `numbers` 列信息错误问题 - 优化 `table setRowChecked()` 方法中标注当前选中行样式的判断逻辑 # 1273 - #### treeTable - 修复 `treeTable.expandAll()` 展开全部之后节点的折叠状态没有记忆的问题 # 1273 - 修复 无主键的树表 reloadData 之后节点被展开的问题 # 1273 - 修复 部分情况下父节点展开之后子节点中的单选复选列和其他表单元素没有渲染的问题 1273/I7AWNV - 修复 初始化无数据时出现的数据报错的问题 # 1273 - #### tab - 修复 删除选项卡时,若标题栏存在其他元素,下标获取异常的问题 # 1271/I7AO7F - 优化 `element.tabAdd()` 方法,第二个参数中新增 `change` 属性支持,以支持添加即自动切换功能 - 优化 折叠功能,切换选项时不自动折叠选项卡,且添加选项时若处于折叠状态则自动展开 # I79HUD - #### util - 修复 fixbar 中添加了无效样式问题 # I79JTH ### 下载: [layui-v2.8.6.zip](https://gitee.com/layui/layui/attach_files/1432770/download) --- 因 `2.8.5` 版本中存在一个 tab 删除时下标的异常问题,`2.8.5` 已被跳过。 ---

2.8.4 2023-05-30

- #### form - 新增 `verIncludelRequired` 全局属性,用于设置验证规则中是否同时包含必填 # I737EW - 修复 checkbox 开关标题和半选图标未垂直居中的问题 # 1255 - 修复 checkbox 在初始设置半选时,点击复选框时图标未恢复成非半选状态的问题 - 修复 checkbox 被重新渲染时,标题模版未正确获取的问题 # 1257 - 修复 select 经浏览器翻译成别的语言后,点击选项出现的显示异常问题 # 1256 - 优化 checkbox 元素的 `lay-skin` ,当设置非内置风格时,不再强制显示为默认风格 - #### table - 新增 对 table 内元素的 `lay-unrow` 属性的识别,点击该元素时,可阻止执行 `row` 行单击事件 - 修复 `table.setRowChecked()` 方法导致 `checkbox,radio` 事件失效的问题 # I73MLV/I76KBX/I78VI3 - 修复 打印功能在 Edge 中可能出现的闪退问题 # 1264 - 优化 `table.setRowChecked()` 方法,若未传 `checked` 属性,则自动对 `checkbox` 进行选中状态值切换 - 优化 `row` 事件机制,若目标元素为 `checkbox,radio`,则不触发 `row` 事件 - 优化 外层容器的高度,不再设置一个固定值,内部元素将根据 `height` 属性值自动撑满 - 优化 底部边框问题 - #### treeTable - 新增 节点折叠状态记忆功能 # 1260/I777CJ - 新增 `customName.icon` 属性,用于自定义图标的属性名称 # 1260/I73BQU - 新增 `async.format` 回调函数,用于处理异步子节点数据,优先级高于 `async.url` # 1260 - 新增 `treeTable.reloadAsyncNode(id, index)` 方法,用于重载异步子节点 # 1260 - 新增 `treeTable.getNodeById(id)` 方法,用于获取节点信息集 # 1260 - 新增 `treeTable.getNodesByFilter(id, filter, opts)` 方法,用于获取符合过滤规则的节点信息集 # 1260 - 修复 `isSimpleData` 模式渲染后的默认数据排序异常问题 # 1260 - 修复 展开全部节点排序失效的问题 # 1260/I73M2K - 修复 折叠叶子节点时,图标没有变化的问题 # 1260 - 修复 节点选中状态判断异常问题 # 1260 - 优化 `treeTable.checkStatus()` 方法,可通过设置第二个参数,用于是否返回半选状态的数据 # 1260/I73JAW - 优化 重新排序和视图内表单初始化的调用逻辑 # 1260 - 优化 节点渲染方法 # 1260 - #### layer - 修复 `skin:'layui-layer-lan'` 时,导致 `btnAlign` 属性无效的问题 # I73PD1 - #### laydate - 优化 `theme` 属性,当其为数组格式,且第一个成员为 `hex` 格式主色值,则第二个成员为辅色值 # 1265 - #### upload - 新增 `exts` 属性对于图片类型时的 `.svg` 扩展名支持 - #### code - 优化 `copy` 属性开启时, 对 `tools` 属性的初始化配置 # I72QGO - 优化 `preview: 'iframe'` 时的 `