---
title: 2.9.x 更新日志
toc: true
---

# 更新日志

> 导读：📑 [Layui 不同版本的浏览器兼容说明](/notes/browser-support.html) · 📑 [Layui 2.x 系列版本主要升级变化](/notes/share/2x-major-upgrade-changes.html) · 📑 [Layui 2.8+ 《升级指南》](/notes/2.8/upgrade-guide.html)

<h2 id="2.10+" lay-toc="{title: '2.10+', href: '/docs/2/versions.html'}">
  <a href="/docs/2/versions.html">2.10+</a>
</h2>

查看 <a href="/docs/2/versions.html">2.10+</a> 及最新版更新日志

---

<h2 id="2.9.x" lay-toc="{title: '2.9.x'}"></h2>

<h2 id="v2.9.27" class="ws-anchor">
  v2.9.27
  <span class="layui-badge-rim">2025-07-21</span>
  <span class="layui-badge-rim" style="color: #16b777;">稳定版</span>
</h2>

- 修复 select 组件的字符转义问题 #2661 @sentsim
- 修复 `<option>` 文本两端的 Unicode 空格(U+00A0)被去除的问题 #2676 @Sight-wcg

### 下载： [layui-v2.9.27.zip](https://gitee.com/layui/layui/attach_files/2276751/download)

---

<h2 id="v2.9.26" class="ws-anchor">
  v2.9.26
  <span class="layui-badge-rim">2025-04-15</span>
  <span class="layui-badge-rim" style="color: #16b777;">稳定版</span>
</h2>

- 优化 util 的 `escape` 和 `unescape` 在解析某些特殊字符串时的潜在问题 #2628 @sentsim
- 修复 layer.photos 在空图片容器动态添加图片时，无法获取 data 的问题 #2581 @Sight-wcg
- 修复 body 初始 `line-height` 无效的问题 #2569 @sentsim

### 下载： [layui-v2.9.26.zip](https://gitee.com/layui/layui/attach_files/2149661/download)

---

<h2 id="v2.9.25" lay-pid="2.9.x" class="ws-anchor">
  v2.9.25
  <span class="layui-badge-rim">2025-03-13</span>
  <span class="layui-badge-rim" style="color: #16b777;">稳定版</span>
</h2>

- #### layer
  - 修复在 `success` 中关闭上一个弹层报错的问题 #2548 @sentsim

### 下载： [layui-v2.9.25.zip](https://gitee.com/layui/layui/attach_files/2092395/download)

---

<h2 id="v2.9.24" class="ws-anchor">
  v2.9.24
  <span class="layui-badge-rim">2025-03-07</span>
</h2>

- #### layer
  - 改进 打开弹层后设置页面滚动条逻辑 #2537 @Sight-wcg
- #### treeTable
  - 修复 treeToFlat 改变根节点 pid 问题 #2526 @Sight-wcg
  - 修复 checkbox 重复更新的问题，大约可提升 30% 性能 #2528 @Sight-wcg
- #### code
  - 修复 选项卡底边框显示异常问题 #2519 @Sight-wcg

### 下载： [layui-v2.9.24.zip](https://gitee.com/layui/layui/attach_files/2085224/download)

---

<h2 id="v2.9.23" class="ws-anchor">
  v2.9.23
  <span class="layui-badge-rim">2025-02-19</span>
</h2>

- #### 基础
  - 新增 6 个图标 #2511 @sentsim
- #### form
  - 修复 `form.val()` 某些情况下赋值失效问题 #2503 @Sight-wcg
- #### 公共类
  - 优化 `layui-text` 在混合列表下的显示问题 #2510 @sentsim

### 下载： [layui-v2.9.23.zip](https://gitee.com/layui/layui/attach_files/2060356/download)

---

<h2 id="v2.9.22" class="ws-anchor">
  v2.9.22
  <span class="layui-badge-rim">2025-02-14</span>
</h2>

- #### form
  - 修复 `form.val()` 第二个参数为 ArrayLike 时表单赋值异常 #2455 @Sight-wcg
  - 修复 `select` 未选中时 form.val 获取到的值为 null 的问题 #2475 @Sight-wcg
- #### table
  - 回滚 #2411 中的 `ResizeObserver` 逻辑，因为可能存在更多的边缘影响 #2501 @Sight-wcg
- #### treeTable
  - 修复 异步加载子节点失败后，无法点击重新加载的问题 #2479 @Sight-wcg
- #### 基础
  - 优化 Linux 个别环境下的等宽字体 #2488 @SessionHu

### 下载： [layui-v2.9.22.zip](https://gitee.com/layui/layui/attach_files/2054722/download)

---

<h2 id="v2.9.21" class="ws-anchor">
  v2.9.21
  <span class="layui-badge-rim">2025-01-03</span>
</h2>

- #### table
  - 新增 通过 `ResizeObserver` 自动处理 `table.reisze`，以适应所处容器的尺寸变化 #2411 @Sight-wcg
  - 修复 未正确导出合计行模板的问题 #2412 @sentsim
  - 优化 表格在隐藏元素中渲染的宽度问题 #2376 #2402 @Sight-wcg
  - 修复 IE8 下执行渲染的报错问题 #2437 @Sight-wcg
- #### treeTable
  - 修复 直接赋值 `data` 时切换分页出现报错的问题 #2406 @sentsim
- #### tab
  - 新增 `element.tabDelete()` 方法的第三个参数，用于强制删除 tab #2407 @sentsim
  - 修复 指定元素渲染，添加和删除选项卡会导致全部 tab 重新渲染的问题 #2386 @Sight-wcg
  - 修复 出现展开按钮时，活动选项卡底边框显示异常 #2387 @Sight-wcg
- #### form
  - 修复 `form.val()` 获取 `multiple select` 值错误 #2425 @Sight-wcg
  - 修复 IE8 中 `checkbox` 半选异常问题 #2442 @Sight-wcg
- #### nav
  - 修复 IE 低版本下执行 `element.render('nav')` 的报错问题 #2415 @Sight-wcg
- #### colorpicker
  - 修复 清空后点击右侧颜色滑块，出现的颜色值错误 #2401 @Sight-wcg
- #### code
  - 增强 `onCopy` 可获取复制状态和阻止默认提示 #2419 @Sight-wcg
- #### 其他
  - 优化 `.layui-body` 和 `.layui-text` 样式细节 #2395 @sentsim

### 下载： [layui-v2.9.21.zip](https://gitee.com/layui/layui/attach_files/2014210/download)

---

<h2 id="v2.9.20" class="ws-anchor">
  v2.9.20
  <span class="layui-badge-rim">2024-11-25</span>
</h2>

- #### table
  - 加强 固定列的滚动体验使得其更接近原生的平滑 #2335 @Sight-wcg
  - 改进 表格自动调整大小的处理，以修复一些边缘报错问题 #2284 @Sight-wcg
  - 修复 由 #2250 造成的右侧固定列偏移问题 #2318 @Sight-wcg
  - 修复 设置列宽仍然存在的一些边缘情况 #2332 @Sight-wcg
  - 修复 排序且重载后 `table.cache` 数据中的 `LAY_INDEX` 丢失的问题 #2340 @sentsim
- #### layer
  - 新增 iframe 弹层在初始加载时的 loading 动画 #2330 @sentsim
- #### dropdown
  - 重构 面板打开与关闭的逻辑 #2349 @sentsim
  - 调整 `closeOnClick` 选项默认值为 `true`，即点击目标元素时自动切换打开与关闭 #2349 @sentsim
  - 修复 在元素自定义事件中创建实例并立刻显示的报错问题 #2349 @sentsim
- #### util
  - 修复 `util.on()` 多个方法并列使用时，同一委托元素的 `trigger` 冲突问题 #2348 @sentsim

### 下载： [layui-v2.9.20.zip](https://gitee.com/layui/layui/attach_files/1973261/download)

---

😹 `2.9.19` 版本因为存在一个小缺陷而被跳过

---

<h2 id="v2.9.18" class="ws-anchor">
  v2.9.18
  <span class="layui-badge-rim">2024-10-14</span>
</h2>

- #### table
  - 修复 重载时若当前页超过总页数，序号列渲染异常 #2247 @Sight-wcg
  - 修复 表格列宽计算一些边缘情况 #2250 @Sight-wcg
  - 修复 table 在 Firefox 中偶现行闪烁的问题 #2260 @Sight-wcg
- #### layer
  - 改进 `maxWidth` 和 `maxHeight` 的处理 #2270 @Sight-wcg
  - 修复 `layer.path` 潜在的缺陷 #2257 @sentsim
- #### laydate
  - 优化 `date` 或 `datetime` 类型时点击年列表换到月选择器功能 #2235 @Diyar-IT
- #### dropdown
  - 新增 `click` 回调中传递的事件对象 #2273 @Sight-wcg
  - 新增 `closeOnClick` 选项，用于点击触发元素时是否关闭面板 #2274 @Sight-wcg
  - 新增 `onClickOutside` 回调函数，点击下拉面板外部时触发 #2274 @Sight-wcg
  - 修复 `trigger:'contextmenu'` 时点击自定义 `content` 任意处导致面板异常关闭的问题 #2274 @Sight-wcg
- #### nav
  - 修复 动态添加元素渲染异常的问题 #2276 @Sight-wcg

### 下载： [layui-v2.9.18.zip](https://gitee.com/layui/layui/attach_files/1930232/download)

---

<h2 id="v2.9.17" class="ws-anchor">
  v2.9.17
  <span class="layui-badge-rim">2024-09-25</span>
</h2>

- #### table
  - 修复 表格列宽计算问题 #2187 @Sight-wcg
  - 优化 慢速网络下表头数据加载时的列宽 #2205 @Sight-wcg
  - 增加 ` table.checkStatus()` 方法返回的 `dataCache`，即包含内部特定字段的缓存数据 #2239 @sentsim
  - 修复 返回数据均为 `LAY_DISABLED: true` 时默认全选的问题 #2239 @sentsim
- #### dropdown
  - 修复 移动端遮罩层点击穿透问题 #2206 @Sight-wcg
- #### flow
  - 回滚 #1852 中加载时自动清除绑定元素内容的改动 #2218 @Sight-wcg
- #### 重要
  - 修复 `getPath` 内部方法潜在的 XSS 安全漏洞，建议尽快升级（[详见低版本修复方式](https://layui.dev/notes/share/security-currentscript.html)） - [f756b41] @jackfromeast

### 下载： [layui-v2.9.17.zip](https://gitee.com/layui/layui/attach_files/1911445/download)

---

<h2 id="v2.9.16" class="ws-anchor">
  v2.9.16
  <span class="layui-badge-rim">2024-08-21</span>
</h2>

- #### select
  - 改进 `lay-search` 属性，支持设置「是否大小写敏感」和「模糊搜索」 #2121 @Sight-wcg
  - 修复 `lay-append-to` 属性开启时在 dropdown 中点击 select 导致 dropdown 被关闭的问题 #2138 @Sight-wcg
- #### table
  - 重构 `table.setRowChecked()` 方法，以优化若干边缘问题 #2146 @sentsim
  - 恢复 #1773 的变更，以避免设置自动宽度的列被拖拽时的异常问题 #2169 @Sight-wcg
- #### tab
  - 新增 `tabBeforeChange` 事件，tab 切换之前触发，可用于阻止 tab 切换 #2111 @sunxiaobin89
- #### element
  - 新增 指定元素渲染的支持 #2162 @Sight-wcg
- #### upload
  - 新增 `error` 回调函数的第四个参数为 xhr 对象 #2151 @sentsim
- #### carousel
  - 修复 动态删除条目至最后一个时调用 `inst.reload` 的异常问题 #2107 @sentsim
- #### 其他
  - 微调 `layui-text` 文本区域样式，以更好地适配 Markdown #2126 @sentsim

### 下载： [layui-v2.9.16.zip](https://gitee.com/layui/layui/attach_files/1878209/download)

---

`2.9.15` 版本因为存在一个小缺陷而被跳过

---

<h2 id="v2.9.14" class="ws-anchor">
  v2.9.14
  <span class="layui-badge-rim">2024-07-09</span>
</h2>

- #### form
  - 改进 `select` 搜索，支持非连续、乱序字符匹配 #2065 @Sight-wcg
  - 优化 `checkbox` 的 `checked` 属性设置为非 `boolean` 类型值时的异常问题 #2033 @Sight-wcg
  - 修复 `radio` 改变 `checked` 属性值时，UI 更新异常的问题 #2084 @Sight-wcg
- #### table
  - 优化 行单双击事件机制，避免与单元格编辑等事件冲突 #2064 @sentsim
- #### treeTable
  - 修复 `cols` 的 `exportTemplet` 函数导出异常的问题 #2034 @sentsim
- #### carousel
  - 修复 点击切换按钮会触发 `form` 表单 `submit` 事件的问题 #2059 @Pencil-hzp

### 下载： [layui-v2.9.14.zip](https://gitee.com/layui/layui/attach_files/1830626/download)

---

<h2 id="v2.9.13" class="ws-anchor">
  v2.9.13
  <span class="layui-badge-rim">2024-06-18</span>
</h2>

> 颇具看点的一个版本 🎉🎉🎉

- #### form
  - 新增 `checkbox,radio` 的数据驱动功能，可直接设置 `checked` 属性更新 UI #2004 @Sight-wcg
  - 新增 `select` 的 `lay-append-to` 属性，用于将 `select` 面板追加到给定的元素中 #1926 @Sight-wcg
- #### table
  - 重构 `defaultToolbar` 选项，增加 `onClick` 事件，可自定义文件导出等操作 #2019 @sentsim
  - 优化 表格数据量较大时行选中的性能 #2004 @Sight-wcg
- #### layer
  - 新增 `btnAsync` 选项，用于对按钮进行异步操作 #2002 @Sight-wcg
- #### laydate
  - 修复 日期范围联动模式中，点击任一侧边缘日期时，另一侧面板未正确切换的问题 #2005 @Diyar-IT @Sight-wcg
  - 优化 选中主题色 #2018 @sentsim
- #### upload
  - 优化 `error` 回调函数的返回参数，增加返回值 #1988 @Pencil-hzp
  - 修复 `auto` 选项开启且 `before` 返回 `false` 后再次选择同一文件不自动上传的问题 #1991 @langyan1022
- #### dropdown
  - 修复 重复 `render` 时未 reload 的问题 #2022 @Sight-wcg
- #### treeTable
  - 修复 `treeTable.reloadAsyncNode` 方法重载节点异常 #2014 @Sight-wcg
- #### tab
  - 修复 `element.tabAdd()` 第二个参数的 `id` 选项若传入特殊字符时的异常问题 #1992 @Sight-wcg
- #### colorpicker
  - 修复 移动端颜色选取异常的问题 #1986 @Sight-wcg

### 下载： [layui-v2.9.13.zip](https://gitee.com/layui/layui/attach_files/1805830/download)

---

`2.9.12` 版本因为存在缺陷而被跳过

---

<h2 id="v2.9.11" class="ws-anchor">
  v2.9.11
  <span class="layui-badge-rim">2024-06-05</span>
</h2>

- #### tab
  - 新增 标签头 `lay-allowclose="false"` 属性支持，用于给指定标签禁用删除图标 #1955 @Sight-wcg
  - 新增 `element.tabAdd()` 第二个参数的 `allowClose` 选项，用于是否显示关闭图标 #1955 @Sight-wcg
  - 新增 `tabBeforeDelete` 事件，返回 `false` 时可阻止关闭对应的选项卡 #1955 @Sight-wcg
  - 优化 当标签头存在 `lay-id` 属性时，根据其属性值切换或删除对应的内容，方便拖拽排序 #1955 @Sight-wcg
  - 优化 标签相关事件的返回参数，新增 `id` 属性 #1955 @Sight-wcg
- #### layer
  - 新增 `beforeEnd` 回调函数选项，在弹层关闭之前触发，可用于阻止弹层关闭 #1968 @Sight-wcg
  - 修复 在某些浏览器的兼容模式下报错无法弹出的问题 #1940 @meihangbo
- #### select
  - 调整 当开启 `lay-creatable` 时，新创建的 `<option>` 元素显示在顶部 #1950 @Sight-wcg
  - 新增 循环切换选中元素的支持 #1950 @Sight-wcg
  - 修复 开启 `lay-creatable` 后方向键切换选中元素偶现异常 #1950 @Sight-wcg
- #### upload
  - 新增 `before` 返回值为 Promise 和 Deferred Promise 对象类型的支持 #1919 @Sight-wcg
- #### flow
  - 新增 `moreText` 选项，用于自定义"加载更多"按钮文本 #1965 @Pencil-hzp
- #### treeTable
  - 修复 `data` 模式非深度重载时，若未传入 `data` 选项导致表格数据被清除的问题 #1938 @Sight-wcg
- #### colorpicker
  - 优化 游标滑动效果 #1923 @Sight-wcg
- #### lay
  - 修复 IE8-10 中 `lay.off` 无法解除 `lay.on` 绑定的事件的问题 #1964 @Sight-wcg

### 下载： [layui-v2.9.11.zip](https://gitee.com/layui/layui/attach_files/1793865/download)

---

<h2 id="v2.9.10" class="ws-anchor">
  v2.9.10
  <span class="layui-badge-rim">2024-05-20</span>
</h2>

- #### table
  - 加强 `loading` 选项，以支持数据加载时的自定义动画风格 #1893 @Sight-wcg
  - 修复 上个版本导致的 `table.setRowChecked` 的 `index` 选项为数组值时无法选中的问题 #1914 @Sight-wcg
- #### treeTable
  - 修复重载数据时，指定参数 `scrollPos: 'fixed'` 无效的问题 #1892 @jichuanan
  - 改进内部 `flatToTree` 函数性能 #1912 @Sight-wcg
- #### colorpicker
  - 优化游标显示效果 #1863 @Sight-wcg
- #### form
  - 修复 `form.val()` 为 radio 设置布尔值时的失效问题 #1903 @meihangbo
- #### 其他
  - 将部分组件上的 `lay-id` 属性重命名为 `lay-${MOD_NAME}-id` #1898 @Sight-wcg

### 下载： [layui-v2.9.10.zip](https://gitee.com/layui/layui/attach_files/1773905/download)

---

<h2 id="v2.9.9" class="ws-anchor">
  v2.9.9
  <span class="layui-badge-rim">2024-05-05</span>
</h2>

- #### laydate
  - 新增 `mark` 和 `holidays` 选项的函数类型支持，以实现更灵活的赋值 #1786 @Sight-wcg
  - 新增 `cellRender` 选项，用于自定义单元格内容，可实现农历扩展 #1843 @Sight-wcg
  - 新增 `formatToDisplay` 选项，仅用于格式化日期显示的格式 #1788 @Sight-wcg
  - 修复点击时间时 `change` 回调未触发的问题 #1787 @Sight-wcg
- #### treeTable
  - 新增对 `tree.view` 的图标相关选项中的 className 设置功能 #1808 @Sight-wcg
  - 修复删除所有行后，再次添加新行失败的问题 #1758 @Sight-wcg
  - 修复删除所有行后，全选按钮选中的问题 #1759 @Sight-wcg
  - 修复删除子节点时，内部缓存未同步的问题 #1760 @Sight-wcg
  - 修复节点移动后，点击事件中行索引获取错误的问题 #1760 @Sight-wcg
  - 修复添加和删除节点时，未更新节点图标的问题 #1784 @Sight-wcg
  - 修复删除子节点时，内部未更新 `isParentKey` 的问题 #1792 @Sight-wcg
  - 修复节点移动后，行索引获取错误 #1812 @Sight-wcg
- #### form
  - 修复 `select`  组件当设置 `lay-creatable=""` 属性时的 XSS 问题 #1813 @Sight-wcg
- #### tree
  - 修复编辑节点标题时的 XSS 问题 #1845
- #### upload
  - 新增 `choose` 回调的 `getChooseFiles` 方法，用于获取本次选取的文件 #1849 @Sight-wcg
  - 修复多文件上传时能选择已在队列中的文件的问题 #1757 @Diyar-IT
- #### dropdown
  - 将 `id` 选项添加到触发元素的 `lay-id` 属性上，以配合其它组件使用 #1761 @Sight-wcg
- #### element
  - 改进自定义 tab 的索引获取 #1853 @Sight-wcg
- #### colorpicker
  - 优化游标显示问题 #1850 @Sight-wcg
  - 优化 RGBA 颜色输入框显示不全的问题 #1851 @Sight-wcg
- #### flow
  - 加强 `flow.load` 以便在重复执行时解除旧的事件 #1852 @Sight-wcg

### 下载： [layui-v2.9.9.zip](https://gitee.com/layui/layui/attach_files/1757745/download)

---

<h2 id="v2.9.8" class="ws-anchor">
  v2.9.8
  <span class="layui-badge-rim">2024-03-31</span>
</h2>

- #### form
  - 新增 `checkbox, radio` 组件更灵活的多选和单选模板自定义功能 #1686 @Sight-wcg
  - 新增 `input-number` 组件的 `lay-precision` 属性值为 `0` 时的取整支持
  - 修复 `select` 组件的 `lay-creatable` 属性在旧版微软拼音输入法兼容性问题 #1667 @Sight-wcg
- #### treeTable
  - 修复 点击表头排序后，内部缓存数据和表格显示数据不一致的问题 #1734 @Sight-wcg
- #### laydate
  - 新增 `disabledDate, disabledTime` 选项，用于设置不可选取的日期和时间 #1569 @Sight-wcg
  - 优化 `holidays` 节假日标注在数字前置为 `0` 失效的问题 #1719 @Sight-wcg
- #### slider
  - 新增 `step` 选项的小数支持 #1663 @Sight-wcg
  - 修复 Firefox 浏览器中拖动滑块时会选中文本的问题 #1716 @Sight-wcg
- #### dropdown
  - 新增 `dropdown.open()` 方法，用于外部打开下拉菜单面板 #1693 @Sight-wcg
- #### upload
  - 新增 图片 `.webp` 默认格式支持

### 下载： [layui-v2.9.8.zip](https://gitee.com/layui/layui/attach_files/1720816/download)

---

<h2 id="v2.9.7" class="ws-anchor">
  v2.9.7
  <span class="layui-badge-rim">2024-02-28</span>
</h2>

- #### select
  - 新增 `lay-creatable` 属性，用于在开启搜索时允许创建新选项 #1618 @Sight-wcg
- #### table
  - 修复 禁止拖拽列宽后仍可拖拽的问题 #1591 @Sight-wcg
- #### layer
  - 新增 遮罩层添加过渡效果 #1616 @Sight-wcg
  - 修复 弹出高度设置为 `auto` 时，恢复大小时内容区高度错误 #1617 @Sight-wcg
  - 优化 最大/小化再恢复大小后宽高偶现细微差异的问题 #1653 @Sight-wcg
- #### laydate
  - 新增时间选择器根据 `format` 格式进行显隐支持 #1656 @Sight-wcg
- #### dropdown
  - 新增 close 选项，用于下拉面板被关闭后触发的回调函数 #1605 @Sight-wcg
- #### flow
  - 新增 direction 选项，用于设置触发加载的方向 #1638 @Sight-wcg
- #### 其他
  - 修改 源码 Unicode 编码转换为中文字符 #1600 @Sight-wcg

### 下载： [layui-v2.9.7.zip](https://gitee.com/layui/layui/attach_files/1685481/download)

---

<h2 id="v2.9.6" class="ws-anchor">
  v2.9.6
  <span class="layui-badge-rim">2024-01-24</span>
</h2>

- #### table
  - 新增 `table.updateRow` 方法，用于更新指定行 #1540 @Sight-wcg
  - 修复 关闭展开状态时，未重置单元格滚动条位置的问题 #1536 @Sight-wcg
  - ~~修复 Chrome DevTools 审查 iframe srcdoc 中的 table 元素时导致页面崩溃的问题~~ #1571
    <br> Chrome 121.0.x 版本自身已修复 DevTools 导致的网页崩溃问题，因此上述补丁已在 v2.9.6 中移除 #1584
- #### laydate
  - 优化 时间选择器在 Safari on iOS, Firefox for Android 中的滑动操作 #1550 @Sight-wcg
- #### slider
  - 新增 `tipsAlways` 选项，用于设置提示文本是否始终显示 #1520 @yxb94616

### 下载： [layui-v2.9.6.zip](https://gitee.com/layui/layui/attach_files/1660301/download)

---

`2.9.4 / 2.9.5` 版本因为存在缺陷而被跳过

---

<h2 id="v2.9.3" class="ws-anchor">
  v2.9.3
  <span class="layui-badge-rim">2023-12-31</span>
</h2>

2023 收官。

- #### form
  - 优化 `input` 组件圆角时后缀存在方框的问题 #1467 @bxjt123
  - 优化 `select` 搜索面板打开逻辑，以适配文字直接粘贴触发搜索的情况 #1498 @Sight-wcg
- #### table
  - 修复非常规列设置 `field` 表头选项时，导出 excel 出现合计行错位的问题 #1522 @Sight-wcg
- #### treeTable
  - 修复 `treeTable.updateNode()` 更新已打开的节点时，未重新渲染表单元素的问题 #1468 @Sight-wcg
- #### laydate
  - 修复 开启 `rangeLinked` 时，选择同一日期，某些情况时间会反选的问题 #1517 @Sight-wcg
- #### upload
  - 加强 `data` 选项的函数写法，支持获取文件相关数据 #1494 @Sight-wcg
- #### transfer
  - 新增 `dblclick` 回调函数选项 #1491 @Sight-wcg
- #### 移动端的适配
  - 修复 `rate,carousel` 一些小问题 #1469 @Sight-wcg

### 下载： [layui-v2.9.3.zip](https://gitee.com/layui/layui/attach_files/1633409/download)

---

<h2 id="v2.9.2" class="ws-anchor">
  v2.9.2
  <span class="layui-badge-rim">2023-12-18</span>
</h2>

`2.9.x` 是对 `2.8.18` 的进一步完善，旨在打造一个可长期用于生产环境的稳定版本。对 `2.8.x` 向下兼容，可覆盖升级。

- #### 移动端的改进
  - 新增 `slider,layer,carousel,laydate,rate,colorpicker` 手势操作支持 #1446 @Sight-wcg
  - 新增 `lay` 模块中针对手势操作的多个基础方法 #1446 @Sight-wcg
- #### table
  - 修复 IE 下的报错问题 #1453 @Sight-wcg
- #### form
  - 修复 `select` 在 IE10+ 中的兼容性问题 #1452 @Sight-wcg
- #### dropdown
  - 增强 `delay` 选项，支持设置 显示/隐藏 的延迟时间 #1454 @Sight-wcg

### 下载： [layui-v2.9.2.zip](https://gitee.com/layui/layui/attach_files/1615568/download)

---

<h2 id="2.9.1" class="ws-anchor">
  2.9.1
  <span class="layui-badge-rim">2023-12-11</span>
</h2>

- #### table
  - 增强 `height` 选项，支持函数 #1437  @Sight-wcg
  - 增强 `table.setRowChecked()` 方法，支持批量选中 [7c12ddf]
  - 修复 全选时，禁用行仍有选中样式的问题 #1436 @Sight-wcg
  - 修复 `templet` 模板字符中的一些特殊 laytpl 界定符被转义的问题 #1438 @Sight-wcg
- #### layer
  - 修复 `iframe` 层在某些情况出现异常纵向滚动条的问题 [8f0c87f]
  - 优化 `layer.tips` 在触发元素高度较小时的定位 #1439 @Sight-wcg
- #### treeTable
  - 修复 `treeTable.reloadData()` 在某些情况下报错的问题 [3f148a9]
- #### laydate
  - 清除 内部 `MODE_NAME` 变量重复声明 #1441 @mek1986
- #### laypage
  - 新增 `countText` 选项，用于自定义数据总数区域文本 #1444 @Sight-wcg
- #### nav
  - 修复 IE8 下子菜单背景色问题 #1445 @Sight-wcg
- #### util
  - 优化 `util.on()` 在特殊情况下的用法问题 [3b78139]

### 下载： [layui-v2.9.1.zip](https://gitee.com/layui/layui/attach_files/1608279/download)

---

<h2 id="2.9.0" lay-pid="2.9.x" class="ws-anchor">
  2.9.0
  <span class="layui-badge-rim">2023-11-29</span>
</h2>

- #### table
  - 修复 `complete` 属性导致 `$.ajaxSetup()` 的 `complete` 失效的问题 #1423 @Sight-wcg
  - 修复 单元格展开再收缩后，当列通过拖拽改变过宽度，列存在概率性错位的问题 [28347fc]
  - 修复 合计行单元格展开异常的问题 #Gitee-I8FH3K
  - 优化 `height` 属性高度铺满语法中不支持浮点型数值的问题 #Gitee-I8DSPH
  - 优化 关闭单元格多行展开状态后，悬停状态样式未移除的问题 #1425 @Sight-wcg
  - 优化 在末行展开单元格后，出现的固定列水平未对齐的问题 [85add62]
  - 优化 当数据值为 `0,undefined,null` 且开启列模板，编辑单元格会带入模板字符的问题 [1d408f0]
- #### util
  - 优化 `util.on()` 方法，提升参数的灵活性和代码的可读性 [d74abb4] [92c8580]
- #### layer
  - 优化 `layer.closeLast()` 方法，给第二个参数增加回调函数 [ab4ded2]
- #### tree
  - 修复 `title` 有特殊字符时点击编辑的显示问题 #1432 @Sight-wcg
- #### colorpicker
  - 优化 内部输入框取值，移除字符串两侧的空白字符 #1427 @Sight-wcg
- #### 其他
  - 优化 `lay.clipboard.writeText()` 逻辑，以适配无写入权限时的场景 #1421 @Sight-wcg

### 下载： [layui-v2.9.0.zip](https://gitee.com/layui/layui/attach_files/1597365/download)

<script>
(function() {
  // 解析更新日志关联链接
  var elem = document.querySelectorAll('#WS-text li, #WS-text p');
  var types = [
    { rule: /(#)Gitee-(\S+)/g, href: 'https://gitee.com/layui/layui/issues/'},
    { rule: /(#)(\d+)/g, href: 'https://github.com/layui/layui/pull/' },
    { rule: /\[()([\d\w]+)\]/g, href: 'https://github.com/layui/layui/commit/' },
    { rule: /(@)(\S+)/g, href: 'https://github.com/' }
  ];
  elem.forEach(function (item) {
    item.childNodes.forEach(function (node) {
      if (node.nodeType === 3) {
        var nodeValue = node.nodeValue;
        var i = 0;
        var sNode = document.createElement('span');
        for (; i < types.length; i++) {
          if (types[i].rule.test(nodeValue)) {
            nodeValue = nodeValue.replace(types[i].rule, function(s, s1, s2) {
              return '<a href="'+ types[i].href + s2 +'" target="_blank">'+ s1 + s2 +'</a>';
            });
            node.matched = true;
          }
        }
        if (node.matched) {
          sNode.innerHTML = nodeValue;
          node.parentNode.insertBefore(sNode, node);
          node.parentNode.removeChild(node);
        }
      }
    });
  });
})();
</script>

---

<h2 id="2.8.x" lay-toc="{title: '2.8.x', href: '/docs/2/versions/2.8.x.html'}">
  <a href="/docs/2/versions/2.8.x.html">2.8.x</a>
</h2>

---

<h2 id="2.7.x" lay-toc="{title: '2.7.x', href: '/2.7/docs/base/changelog.html'}">
  <a href="/2.7/docs/base/changelog.html" target="_blank">2.7.x 及更早前版本</a>
</h2>
