veui
Version:
Baidu Enterprise UI for Vue.js.
1,495 lines (943 loc) • 156 kB
Markdown
## 2.13.2 (2023-03-23)
### 🐞 问题修复
- [^] 修复 `Tag` 组件在同时开启 `selectable` 与 `removable` 时,标签嵌套可能不正确导致服务端渲染与客户端渲染不一致的问题。<!-- #Tag -->
- [^] 修复 `TagInput` 组件在开启 `allow-duplicate` 时,按退格键删除时会移除所有与最后一个标签相同值的标签的问题。<!-- #TagInput -->
## 2.13.1 (2023-03-23)
### 💡 主要变更
- [^] 优化了 `Select` / `Cascader` 组件在多选 + 可搜索状态下及 `TagInput` 组件的文字输入区域自动宽度计算逻辑。<!-- #Select #Cascader #TagInput -->
### 🐞 问题修复
- [^] 修复 `TagInput` 组件在非受控模式下,文字输入内容不可见的问题。<!-- #TagInput -->
## 2.13.0 "☘️ Shamrock" (2023-03-23)
### 🐞 问题修复
- [^] 修复 `Button` 组件的 `strong text` 和 `strong icon` 样式下加载态的背景色。<!-- #Button -->
- [^] 修复 `Autocomplete` 组件没有正确设置默认宽度的问题。<!-- #Autocomplete -->
- [^] 修复 `Select` / `Cascader` 组件在只读状态下依然可以通过键盘进行展开、修改等操作的问题。<!-- #Select #Cascader -->
- [^] 优化了 `Tag` 组件的文字截断样式。<!-- #Tag -->
- [^] 修复 `Select` / `Cascader` 在多选时超长选项可能溢出容器的样式问题。<!-- #Select #Cascader -->
### 🧪 实验性功能
- [+] 新增 `TagInput` 组件,支持自由输入多段文本形成标签列表。<!-- # TagInput -->
## 2.12.2 (2023-03-16)
### ⚠️ 非兼容性变更
- [^] 当前未公开的 API `useUi` 和 `useInput` 均被调整为函数类型。<!-- #useUi #useInput -->
### 🐞 问题修复
- [^] 修复 `Button` 组件的 `strong` 样式无法正常显示的问题。<!-- #Button -->
- [^] 修复尺寸不同的多级嵌套 `Drawer` 组件可能导致缩进不一致的问题。<!-- #Drawer -->
### 🧪 实验性功能
- [+] 为 `Drawer` 组件新增了实验性的 CSS 自定义属性 `--dls-drawer-width` 来更加精细地指定宽度。<!-- #Drawer -->
## 2.12.1 (2023-02-13)
### 🐞 问题修复
- [^] 修复嵌套的 `Stack` 组件间距处理不正确的问题。<!-- #Stack -->
- [^] 修复 `veui-theme-dls` 的预编译输出遗漏 `Stack` 组件样式的问题。<!-- #veui-theme-dls #Stack -->
## 2.12.0 "🌱 Seedling" (2023-02-13)
### 💡 主要变更
- [+] 为 `alert` / `confirm` / `prompt` 插件新增 `okLabel` / `cancelLabel` 配置以允许自定义按钮文案。<!-- #$alert #$confirm #$prompt -->
### 🐞 问题修复
- [^] 修复了 `prompt` 插件值无法正常同步的问题。<!-- #$prompt -->
- [^] 修正了 `Radio` / `Checkbox` 组件可能影响内部插槽内 `<input>` 元素样式的问题。<!-- #Radio #Checkbox -->
### 🧪 实验性功能
- [+] 新增 `Stack` 组件。<!-- #Stack -->
## 2.11.2 (2023-01-11)
### 🐞 问题修复
- [^] 修复了 `Table` 在极端场景下,切换作用域插槽实现时,渲染更新不及时的问题。<!-- #Table #Column -->
- [^] 在极端场景下(`Column` 组件默认插槽内容从非嵌套列切换到嵌套列时)可能出现较多多余渲染且命令行提示重复 `key` 错误的问题,现在可以通过为最末层 `Column` 组件设置 `group` prop 来绕过。<!-- #Table #Column -->
## 2.11.1 (2022-12-27)
### 🐞 问题修复
- [^] 修复 `Field` 组件在校验中情况下出现高度抖动的问题。<!-- #Field -->
- [^] 修复 `drag` 指令没有正确处理 `handle` 属性是 CSS 选择器的场景。<!-- #v-drag -->
- [^] 修复 `Cascader` 组件在不可搜索的情况下选中值太长而出现超出的问题。<!-- #Cascader -->
### 🧪 实验性功能
- [+] 为 `Dialog` 组件新增了实验性的 CSS 自定义属性 `--dls-dialog-width` 和 `--dls-dialog-content-width` 来更加精细地指定宽度。<!-- #Dialog -->
## 2.11.0 "👻 Ghost" (2022-12-13)
### 💡 主要变更
- [^] `Button` 组件新增幽灵按钮变体 `ghost` / `ghost strong` / `ghost aux` / `ghost reverse`。<!-- Button -->
### 🐞 问题修复
- [^] `Tab` 组件的 `label` 插槽现在可以访问 `active` 参数了。<!-- #Tabs #Tab -->
- [^] 修正了 `Table` 组件在未设置 `scroll` 和 `scroll.x` 时,在有横向滚动时没有同步滚动表头的问题。<!-- #Table -->
- [^] 修正了 `Table` 组件横向滚动在没有固定列时边缘阴影未正确展示的问题。<!-- #Table -->
## 2.10.4 (2022-12-06)
### 🐞 问题修复
- [^] `Tabs` 组件的 `scrollTabIntoView` 方法参数从 `tabId` 修正为 `tabName`。<!-- #Tabs -->
## 2.10.3 (2022-12-01)
### 💡 主要变更
- [+] `Tabs` 组件新增 `scrollTabIntoView` 方法,用于将指定的标签页滚动到组件视口。<!-- #Tabs -->
- [^] `Tabs` 组件会在渲染 `panel` 插槽时自动加上 `key`, 避免出现切换时插槽内组件复用。<!-- #Tabs -->
- [+] 为 `NumberInput`、`DatePicker` 和 `TimePicker` 组件自动增加输入掩码供功能(暂时在 Firefox 下无效)。<!-- #NumberInput #DatePicker #TimePicker -->
### 🐞 问题修复
- [^] 修正 `Textarea` 组件在禁用状态下的文字颜色。<!-- #Textarea -->
## 2.10.2 (2022-11-09)
### ⚠️ 非兼容性变更
- [^] `Tabs` 组件的 `sort` 事件参数从整个 `items` 列表,调整为 `(fromIndex: number, toIndex: number)`。<!-- #Tabs -->
## 2.10.1 (2022-11-08)
### 💡 主要变更
- [+] `Tabs` 组件新增 `sortable` 属性和 `sort` 事件,允许对选项卡进行拖拽排序。<!-- #Tabs -->
- [+] `Tabs` 组件新增 `items` 属性,允许通过数据源的方式定义选项卡内容。<!-- #Tabs -->
- [+] `v-drag` 指令新增 `exclude` 选项,用于指定不触发拖拽回调的区域。<!-- #v-drag -->
## 2.10.0 "🍪 Cookie" (2022-10-14)
### 💡 主要变更
- [^] 调整了全局色板的生成逻辑,使浅背景色更容易辨识。<!-- #veui-theme-dls -->
- [^] 升级了 `Steps` 组件的默认视觉风格。<!-- #Steps -->
- [+] `Steps` 组件新增 `ui` 样式 `dot`,提供圆点样式步骤。<!-- #Steps -->
- [+] `Steps` 组件新增 `stateless` 属性,支持纯展示型无状态步骤。<!-- #Steps -->
- [+] `Tabs` 组件新增 `ui` 样式 `borderless`,支持默认样式下隐藏底部分割线。<!-- #Tabs -->
## 2.9.0 "🍄 Mushroom" (2022-09-13)
### 💡 主要变更
- [+] 新增 `LoadingBar` 组件,用于使用进度条来展示加载中的状态。<!-- #LoadingBar -->
- [+] `Table` 组件新增 `loading-options` 属性和全局配置项 `table.loadingOptions`,用于指定加载中状态的选项配置。<!-- #Table -->
- [^] `Table` 组件默认使用进度条型加载态,以代替原来的转动提示。可以通过设置 `loadingOptions.type` 为 `spinner` 切换回之前版本的加载态。在进度条模式下,如果加载过程已经正确处理了数据请求的竞态,可以设置 `loadingOptions.modal` 为 `false`,开启非模态的加载态,以提供更流畅的操作体验。<!-- #Table -->
- [+] `Progress` 组件新增了可选的 `ui` 尺寸 `xs`。<!-- #Progress -->
- [^] `Progress` 组件在环形模式下现在根据 `ui` 尺寸不同,进行了尺寸上的调整。<!-- #Progress -->
### 🐞 问题修复
- [^] 修正 `Uploader` 组件 `key-field` 指定的字段可能被覆盖的问题。<!-- #Uploader -->
- [^] 修正 `RadioButtonGroup` 组件在禁用状态(整体禁用 & 单项禁用)下依然可以通过键盘获取焦点并进行修改的问题。<!-- #RadioButtonGroup -->
- [^] 修正 `Icon` 组件的 `spin` 属性失效的问题。<!-- #Icon -->
## 2.8.2 (2022-08-01)
### 🐞 问题修复
- [^] 修正 `babel-plugin-veui` 没有正确处理将 identifier 通过别名引入的问题。<!-- #babel-plugin-veui -->
- [^] 修正 `Tag` 组件的删除按钮不能正常接收焦点的问题。<!-- #Tag -->
- [^] 修正 `Select` 多级菜单展开位置没有完全对齐的问题。<!-- #Tag -->
## 2.8.1 (2022-07-25)
### 🐞 问题修复
- [^] 修复了 `dls-illustration-vue` 的依赖没有引入的问题。<!-- #veui -->
## 2.8.0 "💧 Droplet" (2022-07-25)
### ⚠️ 非兼容性变更
- [^] `Column` 组件 `tooltip` 为 `true` 时现在将自动展示对应单元格的 `textContent`。<!-- #Table #Column -->
- [^] `v-tooltip` 指令在未指定 `content` 时现在将自动展示对应元素的 `textContent`。<!-- #v-tooltip -->
### 💡 主要变更
- [+] 新增 `Empty` 组件,提供空状态内容的标准样式。<!-- #Empty -->
### 🐞 问题修复
- [^] 修复了 `Badge` / `Select` / `Switch` / `Table` / `Toast` 等组件在动态设置插槽时的渲染更新问题。<!-- #Badge #Select #Switch #Table #Toast -->
- [^] 优化了 `Input` 组件的自动填充识别逻辑,样式同步更加实时,且自动提示待选内容不再会与组件的占位提示重叠。<!-- #Input -->
- [^] 优化了 `Input` 组件在 Safari 浏览器下自动提示的样式。<!-- #Input -->
## 2.7.3 (2022-06-30)
### 💡 主要变更
- [+] `Cascader` 组件新增 `load` 属性来支持数据项懒加载的场景。<!-- #Cascader -->
### 🐞 问题修复
- [^] 修正了 `Nav` 组件悬浮切换时没有动画的问题。<!-- #Nav -->
## 2.7.2 (2022-06-15)
### 💡 主要变更
- [+] `Field` 组件新增 `required` 属性支持必选的样式,替代使用 `Fieldset` 的场景。<!-- #Field -->
- [^] 表单校验策略升级,展示校验结果时会自动合并相同的消息。<!-- #Field #Form -->
- [+] `Field` 组件的 `rules` 属性支持内联 `validate` 校验器。<!-- #Field -->
- [+] `Uploader` 组件支持定制失败项目是否展示预览。<!-- #Uploader -->
### 🐞 问题修复
- [^] 修正了 `Field` 组件在内部有多个输入型组件时,校验信息可能会被错误地清空的问题。<!-- #Field -->
- [^] 修正了 `Uploader` 组件的图标和样式问题。<!-- #Uploader -->
- [^] 修正了 `TimePicker` 组件选中项目的样式问题。<!-- #TimePicker -->
- [^] 修正了 `Fieldset` 组件内的 `Field` 不展示字段名称的问题。<!-- #Field -->
## 2.7.1 (2022-06-06)
### 💡 主要变更
- [^] 优化了 `Slider` 组件的交互,现在通过鼠标拖动完毕后浮层会自动隐藏。<!-- #Slider -->
- [^] `Slider` 组件现在也可以通过键盘 <kbd>↑</kbd> 和 <kbd>↓</kbd> 调整取值了。<!-- #Slider -->
- [+] `Tabs` 组件新增 `tooltip` 属性,允许被截断的标签页标题自动显示完整内容浮层提示。<!-- #Tabs -->
### 🐞 问题修复
- [^] 修正了 `Field` 组件在 `label-position` 为 `top` 时侧边帮助信息位置不正确的问题。<!-- #Field -->
- [^] 修正了 `Transfer` 组件在已选项扁平显示时的样式问题。<!-- #Transfer -->
- [^] 修正了 `Form` 组件的 `validate` 方法在校验通过时没有返回 `true` 的问题。<!-- #Form -->
## 2.7.0 "🪁 Kite" (2022-05-26)
### 💡 主要变更
- [^] `Uploader` 组件进行了整体优化。<!-- #Uploader -->
- 新增 `pick` 属性用于来自定义选择文件的行为;
- 新增 `validity-display` 属性来支持不同的校验信息展示方式;
- `desc` 插槽重命名为 `help`,并新增了 `help` 属性来设置帮助文本;
- 新增 `help-position` 属性来支持不同的帮助文本展示位置;
- `picker-position` 属性值新增 `none` 和 `top` 来支持上传入口隐藏或置于上方;
- 废弃 `button-label` 插槽,新增了 `picker-label` 和 `picker-icon` 属性来设置上传入口的文本和图标。
- [+] `Drawer` 组件新增多级自动缩进功能。<!-- #Drawer -->
- [+] `Form` 组件新增 `label-position` 属性,支持设置表单项标题显示在上方或侧面。<!-- #Form -->
- [+] `Field` 组件的 `help-position` 属性新增可选值 `top`,支持设置表单项帮助文本显示在上方。<!-- #Field -->
- [+] `veui-theme-dls` 新增 `typography.less`,提供“Baidu Number”字体支持。<!-- #veui-theme-dls -->
### 🐞 问题修复
- [^] 修正 `Dropdown` 组件不能正确渲染 `position` 为 `popup` 的内联 `OptionGroup` 子组件。<!-- #Dropdown -->
- [+] 修正 `Uploader` 组件在禁用状态下依然可以点击触发文件选择窗口的问题。<!-- #Uploader -->
## 2.6.5 (2022-05-17)
### 💡 主要变更
- [+] `Form` 组件新增了 `clearValidities` 和 `setValidities` 方法,方便用户清除校验信息和设置校验信息。常用的场景是:将提交后后端返回的校验信息更新到表单中去。<!-- #Form -->
- [+] 乐观清除校验信息:当用户更新输入型组件(如 `Input`/`Select` 等)的值时,该字段的校验信息也会同时被清除。<!-- #Field -->
### 🐞 问题修复
- [^] 修正 `Tree` 组件可勾选时,复选框与内容间距过小的问题。<!-- #Tree -->
## 2.6.4 (2022-04-25)
### 🐞 问题修复
- [^] 修复了没有 `Footer` 时 `Sidebar` 组件高度没有正常撑满容器的问题。<!-- #Sidebar -->
## 2.6.3 (2022-04-21)
### ⚠️ 非兼容性变更
- [^] 重命名组件 `Menu` 为 `Sidenav` 并且升级了样式:<!-- #Menu #Sidenav -->
- 不再支持 `s` / `l` 尺寸变体,现在只支持默认的 `m` 尺寸。
- 移除了属性 `collapsible`,侧导航不再内置切换展开/收起的按钮。
- `collapsed` 属性在不受控时默认会和上层 `Sidebar` 的 `collapsed` 属性联动。
- [^] 组件 `Sidebar` 的属性 `collapsible` 默认值调整为 `false`。<!-- #Sidebar -->
### 💡 主要变更
- [^] 组件 `Popover` 支持透传 `overlay-options` 来配置浮层选项。<!-- #Popover -->
### 🐞 问题修复
- [^] 修复了 `Cascader` 组件的禁用项目可以选中的问题。<!-- #Cascader -->
- [^] 修复了 `Cascader` 组件在悬浮展开子级面板时报错的问题。<!-- #Cascader -->
## 2.6.2 (2022-04-08)
### 🐞 问题修复
- [^] 修正 `babel-plugin-veui` 转换包含组件名后缀的具名导出时误识别为组件的问题。<!-- #babel-plugin-veui -->
- [^] 修正 `status` 为 `success` 的 `Message` 组件图标使用不正确的问题。<!-- #Message -->
- [^] 修正复选的 `Cascader` 已选状态触发区样式布局错误的问题。<!-- #Cascader -->
- [^] 修正 `Field` 组件的 `tip` 属性通过 `Tooltip` 而非 `Popover` 展示的问题。<!-- #Field -->
- [^] 调整了 `Overlay` 组件开启 `autofocus` 时获取焦点的时机,以避免获取焦点时尚未展示完毕从而导致的页面滚动。<!-- #Overlay -->
- [^] 修正了全局类型声明没有包含 `Message` 组件的问题(将影响使用诸如 `unplugin-vue-components` 插件的场景)。<!-- #Message -->
## 2.6.1 (2022-03-30)
### 🐞 问题修复
- [^] 修复 `veui-theme-dls` 打包版本没有正确引入 `Message` 组件的问题。<!-- #veui-theme-dls -->
- [^] 修复 `Field` 组件销毁时没有正确清除对应校验信息的问题。<!-- #Field -->
- [^] 修复树相关组件项目 `key` 与唯一 `value` 不对应的问题。<!-- #Cascader #CascaderPane #Tree #Menu -->
## 2.6.0 "🌻 Sunflower" (2022-03-30)
### ⚠️ 非兼容性变更
- [^] 限定了 `Tabs` 组件单个标签页标题的宽度,对于超出最大宽度的内容会被省略。<!-- #Tabs -->
- [^] 移除了 `Nav` 组件的 `s` / `l` 两个尺寸变体,现在 `Nav` 组件只支持 `m` 尺寸。<!-- #Nav -->
### 💡 主要变更
- [+] 新增 `Message` 组件,提供统一的内联消息提示。<!-- #Message -->
- [^] 优化 `Tabs` 组件样式。<!-- #Tabs -->
- [^] 优化 `Nav` 组件样式,新增悬浮和点击动效。<!-- #Nav -->
- [+] 表单相关功能进行了大幅优化,升级了校验信息样式。`Field` 组件新增了 `help` / `help-position` 属性与 `help` 插槽来支持配置辅助说明。新增了 `abstract` / `withhold-validity` 属性来支持微调校验流程,新增了 `validity-display` 属性来控制校验信息展示样式,校验结果支持配置 `status` 以展示更丰富的校验状态。<!-- #Form #Fieldset #Field -->
- [^] `Field` 内如果有多个输入类组件,可以通过将输入组件的 `name` 属性设置为与 `Field` 相同来标记“主要”输入组件,自动绑定校验逻辑与相关反馈。<!-- #Field -->
### 🐞 问题修复
- [^] 为布局相关组件补充了缺失的接口类型声明。<!-- #Layout #Header #Content #Footer #Sidebar -->
- [^] 修正了 `Radio` 与 `Checkbox` 组件在没有标签文本时的对齐样式。<!-- #Radio #Checkbox -->
## 2.5.5 (2022-03-23)
### ⚠️ 非兼容性变更
- [^] `Lightbox` 组件在关闭时的 `cancel` 事件修改成 `close` 事件。<!-- #Lightbox -->
### 💡 主要变更
- [+] 优化了 `Radio` / `Checkbox` 组件在垂直方向的对齐方式。<!-- #Radio #Checkbox -->
- [+] `Select` 组件新增 `show-select-all` 属性,支持全选的功能。<!-- #Select -->
### 🐞 问题修复
- [^] 修正了 `DatePicker` / `Button` 禁用样式的问题。<!-- #DatePicker #Button -->
- [^] 修正了 `Uploader` 媒体上传项目在禁用状态下的样式问题。<!-- #Uploader -->
- [^] 修正了 `Menu` 覆盖 `item` 插槽会导致报错的问题。<!-- #Menu -->
- [^] 修正了 `Cascader` 选中文本超长溢出的样式问题。<!-- #Cascader -->
- [^] 修正了 `Tag` 组件禁用状态下的焦点样式。<!-- #Tag -->
## 2.5.4 (2022-03-01)
### 💡 主要变更
- [+] `Tabs` 组件现在在标签页标题横向溢出滚动时,支持使用滚轮进行左右滚动。<!-- #Tabs -->
- [+] `Lightbox` 组件新增 `outside-closable` 属性,用于指定是否可以在内容外部点击关闭。<!-- #Lightbox -->
### 🐞 问题修复
- [^] 修正了 `DatePicker` 的 `select` 事件重复触发的问题。<!-- #DatePicker -->
- [^] 优化了 `Overlay` 组件的关闭逻辑,消除了部分组件关闭过程中会发生肉眼可见的闪烁的问题。<!-- #Overlay -->
- [^] 修正了 `RadioGroup` / `CheckboxGroup` / `RadioButtonGroup` / `CheckboxButtonGroup` 组件可能遮挡左侧组件点击区域的问题。<!-- #RadioGroup #CheckboxGroup #RadioButtonGroup #CheckboxButtonGroup -->
- [^] 为 `v-drag.sort` 指令新增了对 Chrome 关于拖动图片生成坐标相关 bug 的兼容性处理。<!-- #v-drag -->
## 2.5.3 (2022-02-07)
### 💡 主要变更
- [+] 为 `Dialog` / `Drawer` / `AlertBox` / `ConfirmBox` / `PromptBox` 等组件新增 `afteropen` 事件。<!-- #Dialog #AlertBox #ConfirmBox #PromptBox -->
### 🐞 问题修复
- [^] 修正了 `Button` 组件键盘交互某些情况下没有正确触发的问题。<!-- #Button -->
## 2.5.2 (2022-01-25)
### 💡 主要变更
- [^] 新增全局注册类型声明,以便使用了类似 `unplugin-vue-components` 功能时自动引入并注册组件的场景下依然可以获取正确的组件类型信息。<!-- #TypeScript -->
- [+] `Form` 组件的 `default` 和 `actions` 插槽新增 `validating` 属性,用于指示当前表单是否正处于异步校验过程中。<!-- #Form -->
- [+] `Form` 组件的 `default` 插槽新增 `submit` 属性,用于触发表单提交。<!-- #Form -->
### 🐞 问题修复
- [^] 修正了用户在封装多个 `Column` 组件并传入 `Table` 时可能导致乱序的问题。<!-- #Table -->
## 2.5.1 (2022-01-20)
### 🐞 问题修复
- [^] 修正了类型声明与 `@vue/composition-api` 导出的 `defineComponent` 的类型声明不匹配的问题。<!-- #TypeScript -->
## 2.5.0 "🤸 Person Cartwheeling" (2022-01-19)
### 💡 主要变更
- [+] 为 VEUI 的所有组件增加了类型描述文件,可以配合 [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar) 在模板中得到属性/事件/插槽类型的自动提示。<!-- #TypeScript -->
### 🐞 问题修复
- [^] 修正了 `Accordion` 组件的 `toggle-position` 属性没有正确生效的问题。<!-- #Accordion -->
## 2.4.4 (2022-01-15)
### 🐞 问题修复
- [^] 修正了 `Tabs` / `Tab` / `Table` / `Column` / `Accordion` / `Collapse` 组件通过内联子组件方式使用时,动态切换子组件时可能顺序错乱的问题。<!-- #Tabs #Tab #Table #Column #Accordion #Collapse -->
- [^] 修正了 `DatePicker` 组件在快捷选项区域点击空白处会触发下拉面板关闭的问题。<!-- #DatePicker -->
- [^] 调整了 `Button` 组件的样式实现方式,以修复 v2.4.2 重构时引入的部分样式问题。<!-- #Button #Uploader #Dropdown #Sidebar -->
## 2.4.3 (2022-01-11)
### 🐞 问题修复
- [^] 修正 `Dropdown` 组件按钮内间距过大的问题。<!-- #Dropdown -->
## 2.4.2 (2022-01-07)
### 🐞 问题修复
- [^] 重构了 `Button` 组件以解决在动态切换 `disabled` / `loading` 属性时过渡动效丢失的问题。<!-- #Button -->
- [^] 修复了 `veui-loader` 中 `global` 选项没有正确处理 `string` 类型配置的问题。<!-- #veui-loader -->
## 2.4.1 (2022-01-05)
### 🐞 问题修复
- [^] 修复了 `sideEffects` 配置错误导致依赖组件类型判断的逻辑失效的问题。<!-- #veui -->
## 2.4.0 "🪆 Nesting Dolls" (2022-01-02)
### 💡 主要变更
- [+] 新增全局布局组件 `Layout` / `Header` / `Sidebar` / `Footer` / `Content`。<!-- #Layout #Header #Sidebar #Footer #Content -->
### 🐞 问题修复
- [^] 修复了 `Badge` 组件的 `max` prop 没有正常响应全局设置的问题。<!-- #Badge -->
## 2.3.4
### 🐞 问题修复
- [^] 修正了单选 `Select` / `Cascader` 组件在有已选项时,展开下拉浮层可能导致页面滚动位置跳动的问题。<!-- #Select #Cascader -->
## 2.3.3
### 🐞 问题修复
- [^] 修正了动态添加/移除 `Column` 组件时可能导致顺序不正确的问题。<!-- #Table #Column -->
- [^] 修正了 `Select` 组件在非受控模式下下拉菜单中当前激活项显示不正确的问题。<!-- #Select -->
### 🧪 实验性功能
- [+] 为 `Calendar` 组件新增了实验性的 `ui` 样式 `display`。<!-- #Calendar -->
## 2.3.2
### ⚠️ 非兼容性变更
- [^] 将对 `dls-icons-vue` 的依赖更新为 `2.0.0`。其中:<!-- #Icon -->
- `quality-circle` 图标重命名为 `grade-circle`;
- `full-square` 图标重命名为 `full-circle`。
### 🐞 问题修复
- [^] 修正了 `Cascader` 组件在复选模式下搜索框位置不正确的问题。<!-- #Cascader -->
- [^] 修正了 `Table` 组件通栏展开行、footer 行高度不正确的问题。<!-- #Table -->
## 2.3.1
### 💡 主要变更
- [^] 优化了下拉浮层展开时列表滚动到激活项的功能,避免可见的闪动。<!-- #Select #Cascader #DatePicker #TimePicker -->
- [^] 在滚动锁定开启时尝试使用原生的 `scrollbar-gutter` 来避免页面内容整体抖动。<!-- #Dialog -->
- [^] 优化了 `v-drag.sort` 指令在 Safari 下在 `transform` 容器内拖动时拖动元素初始样式的覆盖场景。<!-- #v-drag -->
### 🐞 问题修复
- [^] 修正了 `v-tooltip` 指令提示内容没有实时响应式更新的问题。<!-- #v-tooltip -->
- [^] 升级了 `Loading` 组件的加载动效,避免了在 Chrome 下可能由于动画不同步造成的闪动。<!-- #Loading -->
## 2.3.0 "🏍️ Motorcycle"
### ⚠️ 非兼容性变更
- [^] `Pagination` 组件默认不展示每页数量选择器。<!-- #Pagination -->
### 💡 主要变更
- [^] `Autocomplete` 组件的 `strict` prop 行为对齐到 `Input` 组件的 `strict` prop,不再表示限制只能选择 `datasource` 中的值。<!-- #Autocomplete -->
- [^] 废弃 `Autocomplete` 组件的 `suggest` 事件,当用户采纳建议时额外触发新增的 `select` 事件。<!-- #Autocomplete -->
- [^] `Autocomplete` 组件新增 `maxlength` prop 来限制值的长度。<!-- #Autocomplete -->
- [^] `Pagination` 组件新增 `show-total` / `show-page-size` / `show-goto` prop 来分别指定是否显示项目总数/每页条数/跳转到指定页。将 `goto` prop 废弃并重命名为 `show-goto`。<!-- #Pagination -->
- [+] `v-tooltip` 指令新增修饰符 `overflow`,用来指定仅当目标元素内容发生溢出时才显示悬浮提示。<!-- #v-tooltip -->
- [+] `Column` 组件新增 `tooltip` prop,用于指定某列内容溢出时展示的悬浮提示文本。<!-- #Column -->
### 🐞 问题修复
- [^] 修正大部分输入型组件的一些事件无法作为表单校验的触发器。涉及组件包括: `Autocomplete` / `Checkbox` / `Input` / `Radio` / `Switch` / `Textarea`。<!-- #Autocomplete #Checkbox #Input #Radio #Switch #Textarea -->
- [^] 修正 `Uploader` 组件继续上传按钮的样式问题。<!-- #Uploader -->
- [^] 修正 `Carousel` 组件切换时报错的问题。<!-- #Carousel -->
- [^] 优化搜索类组件对 Unicode 代理对与 Zero Width Joiner (`U+200D`) 的支持。<!-- #Autocomplete #Dropdown #Select #Cascader #SearchBox -->
- [^] 修正 `Table` 组件的自定义 CSS 属性 `--dls-table-cell-lines` / `--dls-table-head-cell-lines` 默认值没有设置为 `1` 的问题。<!-- #Table -->
## 2.2.1
### ⚠️ 非兼容性变更
- [^] `Anchor` 组件的 `target-offset` / `sticky-offset` 使用数值时不再作为比例系数,而是作为绝对 `px` 值。<!-- #Anchor -->
### 💡 主要变更
- [+] `Anchor` 组件的 `target-offset` / `sticky-offset` 支持传入如 `'10%'` 格式的字符串,用于支持比例系数。<!-- #Anchor -->
### 🐞 问题修复
- [^] 修正 `Button` 组件在 Safari 浏览器上的样式问题。<!-- #Button -->
- [^] 修正 `DatePicker` 组件在 Safari 浏览器上点击快捷方式报错的问题。<!-- #DatePicker -->
### 🧪 实验性功能
- [^] `Table` 组件的自定义 CSS 属性 `--dls-table-cell-lines` / `--dls-table-head-cell-lines` 默认值更新为 `1`,可以通过设置为 `auto` 来设置自适应高度。<!-- #Table -->
## 2.2.0 "🪗 Accordion"
### 💡 主要变更
- [+] 为 `Accordion` / `Collapse` 组件新增 `ui` 样式 `simple` / `basic` / `strong` / `bordered` / `borderless` / `dull`。<!-- #Accordion #Collapse -->
- [+] 为 `Accordion` / `Collapse` 组件新增 `toggle-position` prop,用于自定义展开/收起箭头的位置。<!-- #Accordion #Collapse -->
- [+] 为 `Collapse` 组件新增 `title-after` 插槽,用于自定标题后缀内容。<!-- #Collapse -->
- [+] 为 `Popover` 组件新增 `title` prop 与 `title` 插槽,用于自定义标题内容。<!-- #Popover -->
- [+] 为 `Popover` 组件新增 `foot` / `ok-label` / `cancel-label` prop 与 `foot` 插槽,用于开启底部操作区并自定义操作按钮文本。<!-- #Popover -->
### 🐞 问题修复
- [^] 修正 `Tabs` 组件销毁过程中触发数据变化的问题。<!-- #Tabs -->
- [^] 修正 `Anchor` 组件在滚动容器的 CSS `scroll-behavior` 为 `smooth` 时下点击项目导致的滚动会进一步影响激活项的问题。<!-- #Anchor -->
- [^] 修正 `Anchor` 组件的容器样式可能导致进入/退出吸附状态时抖动的问题。<!-- #Anchor -->
- [-] 去除了 `Anchor` 组件初始状态的自动滚动,以避免和浏览器的默认行为冲突。<!-- #Anchor -->
- [^] 修正 `Table` 组件在切换 `selectable` / `expandable` 时没有更新布局的问题。<!-- #Table -->
### 🧪 实验性功能
- [+] 为 `Table` 组件新增自定义 CSS 属性 `--dls-table-cell-lines` / `--dls-table-head-cell-lines`,用于指定显示固定内容/表头行数的表格。<!-- #Table -->
- [+] 为 `Accordion` 组件新增自定义 CSS 属性 `--dls-accordion-gutter`,用于自定义折叠面板间距。<!-- #Accordion -->
## 2.1.7
### 💡 主要变更
- [+] 为 `Link` 组件新增全局配置项 `link.routerLink`,用于在路由模式下允许使用除了 `<router-link>` 以外的组件,比如在 Nuxt 项目下使用 `<nuxt-link>`。<!-- #Link -->
### 🐞 问题修复
- [^] 修正 `Progress` 组件的状态一致性问题。<!-- #Progress -->
- [^] 修正 `Uploader` 组件的 `convert-response` 无法通过 `ConfigProvider` 组件进行局部配置的问题。<!-- #Uploader -->
- [^] 修正 `Textarea` / `Calendar` / `Input` 组件在 Safari 下的样式问题。<!-- #Textarea #Calendar #Input -->
- [^] 修正 `DatePicker` 组件的下拉浮层在溢出视口时没有正确左右翻转的问题。<!-- #DatePicker -->
- [^] 修正 `v-tooltip` 指令在目标元素销毁时可能没有消失的问题。<!-- #v-tooltip -->
## 2.1.6
### 💡 主要变更
- [+] 为 `Tooltip` / `Popover` 组件新增 `aim-center` prop,用来支持浮层箭头始终指向目标元素中心的模式。<!-- #Tooltip #Popover -->
- [+] 为 `RadioButtonGroup` / `CheckButtonGroup` 组件新增 `ui` 选项 `stable`,来实现多行显示多个按钮组时更整齐的视觉效果。<!-- #RadioButtonGroup #CheckButtonGroup -->
### 🐞 问题修复
- [^] 修正 `Tabs` 组件在路由模式下 `active` 数据可能没有正确响应路由变化的问题。<!-- #Tabs -->
- [^] 修正 `Tabs` 组件在移除最后一个标签页时 `active` 计算不正确的问题。<!-- #Tabs -->
- [^] 修正 `DatePicker` 组件的 `placeholder` 类型描述漏掉 `Array` 的问题。<!-- #DatePicker -->
- [^] 修正 `Table` 组件固定列 `z-index` 过低可能导致被滚动内容穿透的问题。<!-- #Table -->
### 🧪 实验性功能
- [+] 为 `RadioButtonGroup` / `CheckButtonGroup` 组件分别新增自定义 CSS 属性 `--dls-radio-button-min-width` / `--dls-checkbox-button-min-width`,用于自定义组内按钮项的最小宽度。<!-- #RadioButtonGroup #CheckButtonGroup -->
## 2.1.5
### 🐞 问题修复
- [^] 修正 `Tabs` 组件在路由模式下可能会没有正常激活标签项的问题。<!-- #Tabs -->
- [^] 将 `CheckButtonGroup` / `RadioButtonGroup` 组件的样式 token 升级到最新版本,以解决无法与最新版本 less-plugin-dls 共同工作的问题。<!-- #CheckButtonGroup #RadioButtonGroup -->
- [^] 修正 `RadioGroup` 组件未实现可受控功能的问题。<!-- #RadioGroup -->
### 🧪 实验性功能
- [+] 为 `Field` 组件新增自定义 CSS 属性 `--dls-field-label-width`,用于自定义表单项文字标签列的宽度。<!-- #Field -->
## 2.1.4
### 🐞 问题修复
- [^] 修正了 `veui/dist/locale.*.esm.js` 没有被标记入 `sideEffects` 配置的问题。<!-- #veui -->
## 2.1.3
### 💡 主要变更
- [+] 为 `RadioGroup` / `CheckboxGroup` / `RadioButtonGroup` / `CheckboxButtonGroup` 新增 `Popover` 弹层提示支持。新增数据源 `desc` 字段及对应的 `desc` 作用域插槽。<!-- #RadioGroup #CheckboxGroup #RadioButtonGroup #CheckButtonGroup -->
- [+] 支持搜索的组件 `Autocomplete` / `Cascader` / `SearchBox` / `Select` / `Dropdown` 的 `match` prop 返回值现在在仅有一段匹配时可以直接返回 `[number, number]`。<!-- #Autocomplete #Cascader #SearchBox #Select #Dropdown -->
### 🐞 问题修复
- [^] 修正了 locale 包的 ESM 打包版本没有引用 VEUI 的 ESM 版本的问题。<!-- #veui -->
- [^] 修正了 `DatePicker` 组件清除功能有时不正常的问题。<!-- #DatePicker -->
- [^] 修正了 `Select` / `Dropdown` 组件可能出现两个滚动条的样式问题。<!-- #Select #Dropdown -->
- [^] 修正了 `Table` 在无边框样式下组件固定列阴影处有 1px 偏差的问题。<!-- #Table -->
## 2.1.2
### 💡 主要变更
- [^] `veui-theme-dls-icons` 新增产出文件:<!-- #veui-theme-dls-icons -->
- `dist/icons.esm.js` ESM 版本。
## 2.1.1
### ⚠️ 非兼容性变更
- [-] 组件 `Autocomplete` 的 `match` prop 参数签名从 `(item, keyword, ancestors)` 变更为 `(item, keyword, { ancestors })`。<!-- #Autocomplete -->
- [^] 将 `Carousel` 组件的 `indicator-alignment` prop 重命名为 `indicator-align`。<!-- #Carousel -->
### 💡 主要变更
- [+] 为 `RadioButtonGroup` / `CheckButtonGroup` 新增 `ui` 样式 `simple`,并支持跨行样式。<!-- #RadioButtonGroup #CheckButtonGroup -->
- [^] `Button` 组件现在可以在禁用状态下响应除了 `click` 以外的事件,并可以接收焦点。<!-- #Button -->
- [+] 为支持搜索的组件 `Autocomplete` / `Cascader` / `SearchBox` / `Select` / `Dropdown` 新增 `match` / `filter` prop。<!-- #Autocomplete #Cascader #SearchBox #Select #Dropdown -->
- `match` 函数签名:`(item, keyword, { ancestors }) => boolean | Array<[number, number]>` 以支持自定义高亮逻辑;
- `filter` 函数签名:`(item, keyword, { ancestors, offsets }) => boolean` 以支持自定义搜索命中逻辑。
## 2.1.0 "🌰 Chestnut"
### 💡 主要变更
- [+] 新增了 `ConfigProvider` 组件,用于对局部组件进行全局配置的自定义。<!-- #ConfigProvider -->
- [^] 对 `Carousel` 组件进行了功能、样式升级:<!-- #Carousel -->
- `indicator` prop 新增 `bar` / `dot` 值,用于指定播放指示器的样式类型。其中 `bar` 用于替换之前的 `radio`(`radio` 也保持兼容支持)。
- 新增了 `effect` prop,用于指定轮播切换效果,其中 `fade` 仅在切换组个数与同时显示个数相同时生效。
- 新增了 `vertical` prop,用于支持纵向布局的轮播。
- 新增了 `indicator-alignment` prop,用于支持指示器的相对于布局方向的位置。
- 新增了 `indicator-position` prop,用于支持指示器显示在轮播容器的内部/外部。
- 新增了 `controls-position` prop,用于支持切换按钮相对于布局方向的位置。
- 新增了 `slide-aspect-ratio` prop,用于指定每个轮播项的纵横比。
- 新增了视频轮播项的支持,并新增 `options` prop 用于指定不同轮播项类型的默认配置。
- 新增了 `slides-per-view` prop,用于指定同时显示多少个轮播项。
- 新增了 `slides-per-group` prop,用于指定每次前后切换的一组包含多少个轮播项。
### 🧪 实验性功能
- [+] 为 `Carousel` 组件新增自定义 CSS 属性:<!-- #Carousel -->
- `--dls-carousel-slide-gutter`:轮播项的间距;
- `--dls-carousel-transition-duration`:轮播一次切换的持续时间。
### 🐞 问题修复
- [^] 修正了 `Switch` 组件加载状态没有使用 `Loading` 组件的问题。<!-- #Switch -->
## 2.0.6
### 🐞 问题修复
- [^] 优化了 `Dialog`、`Drawer` 及 `Lightbox` 等触发模态层组件释放滚动锁定的逻辑,已避免模态层关闭时进行路由跳转可能导致解锁逻辑没有执行的问题。<!-- #Dialog #Drawer #Lightbox -->
## 2.0.5
### 🐞 问题修复
- [^] 修复 `Input` 组件开启 `trim` 后无法输入带空格的文本的问题。<!-- #Input -->
## 2.0.4
### 🐞 问题修复
- [^] 修复 `Uploader` 组件遗漏的服务端渲染时的异常。<!-- #Uploader -->
## 2.0.3
### 💡 主要变更
- [+] `Input` 组件新增 `trim` prop,用来给输入值清除前后的空格。<!-- #Input -->
### 🐞 问题修复
- [^] 修复 `Checkbox` 组件初始化时触发全局点击事件的问题。<!-- #Checkbox -->
- [^] 修复 `Textarea` 组件在 `autoresize` 时,当最初渲染在隐藏容器内展现后高度不正确的问题。<!-- #Textarea -->
## 2.0.2
### 💡 主要变更
- [+] 在 UMD 版本输出中新增整体注册功能,将自动注册所有组件并启用 VEUI 的所有插件。<!-- #veui -->
#### 使用方法
```html
<div id="app">
<v-button ui="primary">OK</v-button>
</div>
```
```js
Vue.use(veui, { prefix: 'v' }) // prefix 可选,默认为 `veui`
new Vue({
el: '#app'
})
```
### 🐞 问题修复
- [^] 修正了 `Uploader` 组件在 SSR 环境下异常的问题。<!-- #Uploader -->
- [^] 修正了 `Uploader` 组件渲染的文件列表可能超过 `max-count` 定义的上限的问题。<!-- #Uploader -->
- [^] 修正了 `options` 参数在 `toast` 插件调用时没有正常生效的问题。<!-- #$toast -->
- [^] 修正了 `veui-theme-dls` 单独打包输出的样式顺序问题。<!-- #veui-theme-dls -->
- [^] 修正了 `Tag` 组件在深色背景下显示效果不符合预期的问题。<!-- #Tag -->
## 2.0.1
### 🐞 问题修复
- [^] 修正了 `Menu` 组件 `item-label` slot 范围过大的问题。<!-- #Menu -->
## 2.0.0 "📅 Calendar"
### ⚠️ 非兼容性变更
- [-] 移除了 `Table` 组件的 `keys` prop,请使用 `key-field` prop 代替。<!-- #Table -->
- [-] 移除了 `Tag` 组件的 `closable` prop 和 `close` 事件,请分别使用 `removable` prop 和 `remove` 事件代替。<!-- #Tag -->
- [-] 移除了 `Uploader` 组件的 `extensions` prop,请使用 `accept` prop 代替。<!-- #Uploader -->
- [-] 移除了 `Uploader` 组件的 `uploadFiles` 方法,并将 `triggerUpload` 方法更名为 `startUpload`。<!-- #Uploader -->
- [-] 移除了 `v-drag` 指令的 `draggable` 选项,请使用 `disabled` 选项代替。<!-- #v-drag -->
- [-] 移除了 `v-drag.sort` 指令的 `callback` 选项,请使用 `sort` 选项代替。<!-- #v-drag -->
- [-] 移除了校验规则的 `message` 自定义模板的 `%{arg}` 语法,请使用 `{arg}` 语法代替。<!-- #rules -->
### 🐞 问题修复
- [^] 修复了 `Uploader` 组件列表切换动效不正确的问题。<!-- #Uploader -->
## 2.0.0-rc.5
### 🐞 问题修复
- [^] 修正了 `Nav` 组件从当前项目移动到下拉浮层会导致当前项目关闭的问题。<!-- #Nav -->
- [^] 修正了 `Table` 组件的过滤器下拉浮层出现两个滚动条的问题。<!-- #Table -->
- [^] 修正了 `veui` 公共模块导出可能出现组件未定义的情况。<!-- #veui -->
- [^] 修正了部分组件的语言配置未打包到 UMD 版本输出的问题。<!-- #veui -->
- [^] 修正了 rc.4 版本错误引入 `Dropdown` 组件的 `strong` 样式。<!-- #Dropdown -->
## 2.0.0-rc.4
### 💡 主要变更
- [^] `veui` 产出中新增文件:<!-- #veui -->
- `dist/veui.js` UMD 版本,包含中英文语言包。
- `dist/veui.esm.js` ESM 版本,不包含中英文语言包。
- `dist/locale.en-US.esm.js` 英文语言包。
- `dist/locale.zh-Hans.esm.js` 中文语言包。
- [^] `veui-theme-dls` 产出中新增文件:<!-- #veui-theme-dls -->
- `dist/dls.js` UMD 版本,Baidu DLS 主题包。
- `dist/dls.esm.js` ESM 版本,Baidu DLS 主题包。
- [^] `veui` 的公共模块导出调整为:<!-- #veui -->
#### ESM
```js
import {
Button, // components
config,
i18n,
validation, // managers
useControllable,
useSearchable, // mixins
$alert,
$confirm,
$prompt,
$toast, // plugins
drag,
outside,
resize,
nudge,
longpress,
tooltip // directives
} from 'veui'
```
#### 全局对象
```html
<script src="/path/to/vue.js"></script>
<script src="/path/to/veui/dist/veui.js"></script>
<script src="/path/to/veui-theme-dls/dist/dls.js"></script>
<script>
const { Button, i18n, outside } = window.veui
</script>
```
### 🐞 问题修复
- [^] `Dropdown` 组件现在支持 `ui="strong text"`。<!-- #Dropdown -->
- [^] 修正了 `Dialog` 组件的 `draggable` prop 失效的问题。<!-- #Dialog -->
- [^] 修正了 `Drawer` 组件的 `overlay-class` prop 没有正确输出的问题。<!-- #Drawer -->
- [^] 修正了 `v-drag` 指令在非使用 `target` 选项非受控拖动时失效的问题。<!-- #v-drag -->
- [^] 修正了 `v-drag.sort` 在 Safari 下容器有 `transform` 时产生偏移的问题。<!-- #v-drag -->
- [^] 修正了 `Uploader` 组件按住图片拖拽排序时失效的问题。<!-- #Uploader -->
## 2.0.0-rc.3
### ⚠️ 非兼容性变更
- [^] `v-drag.sort` 指令的 `callback` 选项重命名为 `sort`。参数从 `(toIndex: number, fromIndex: number)` 修改为 `(fromIndex: number, toIndex: number)`。同时排序回调不再需要关心移动动画的完成状态。<!-- #v-drag -->
- [^] `v-drag` 指令的 `draggable` 选项被 `disabled` 选项取代,默认值为 `false`。<!-- #v-drag -->
- [-] 移除全局配置项 `drag.prefix`。<!-- #v-drag -->
### 💡 主要变更
- [+] 为 `v-drag` 指令新增选项 `handle`,可用于指定拖动的“把手”元素。<!-- #v-drag -->
### 🐞 问题修复
- [^] 修正 `Lightbox` 组件可能产生重复 `key` 的问题。<!-- #Lightbox -->
## 2.0.0-rc.2
### 🐞 问题修复
- [^] 修正 `NumberInput` 组件无法正常清空的问题。<!-- #NumberInput -->
## 2.0.0-rc.1
### 💡 主要变更
- [+] 为 `Popover` / `Tooltip` / `AlertBox` / `ConfirmBox` / `PromptBox` / `Dialog` / `Select` / `Dropdown` / `Lightbox` / `DatePicker` / `TimePicker` / `SearchBox` / `Cascader` / `CascaderPane` 等组件新增 `overlay-style` prop,用于自定义浮层样式。<!-- #Popover #Tooltip #AlertBox #ConfirmBox #PromptBox #Dialog #Select #Dropdown #Lightbox #DatePicker #TimePicker #SearchBox #Cascader #CascaderPane -->
- [+] `Link` 组件现在支持绑定通用的鼠标、键盘事件,无需使用 `.native` 修饰符。<!-- #Link -->
### 🐞 问题修复
- [^] 修复 `Nav` 组件项目在光标悬浮状态下的样式问题。<!-- #Nav -->
- [^] 修复 `Select` 组件的 slot prop 中缺失 `close` 方法的问题。<!-- #Select -->
- [^] 修复 `NumberInput` 组件在非法值的基础上使用步进操作产生 `NaN` 的问题。<!-- #NumberInput -->
- [^] 修复 `Radio` 组件在有相同 `name` 的组件时,因为其它同组组件被选中导致的 DOM 状态与组件状态不同步的问题。<!-- #Radio -->
### 🧪 实验性功能
- [+] 为 `Select` / `Dropdown` / `SearchBox` / `Cascader` 新增 `--dls-dropdown-max-display-items` 配置支持,见 `2.0.0-rc.0` 版本实验性功能说明。<!-- #Select #Dropdown #SearchBox #Cascader -->
## 2.0.0-rc.0
### ⚠️ 非兼容性变更
- [^] `v-drag.sort` 指令的 `callback` 函数参数 `(toIndex, fromIndex)` 中的 `toIndex` 参数含义变更,从原来的“移动到 `toIndex` 前”变更成“移动到 `toIndex` 处”。<!-- #v-drag -->
### 💡 主要变更
- [+] 为 `Overlay` / `Autocomplete` 等组件新增 `overlay-style` prop,用于自定义浮层样式。<!-- #Overlay #Autocomplete -->
- [+] 新增 `v-tooltip` 指令,用于指定全局共享的浮层提示。<!-- #v-tooltip -->
- [^] 优化了 `v-drag.sort` 的移动触发交互,使拖动排序更顺畅。<!-- #v-drag -->
### 🐞 问题修复
- [^] 修复 modal 类型浮层的 focus trap 功能。<!-- #veui -->
### 🧪 实验性功能
- [+] 新增支持通过给浮层设置 CSS 自定义属性 `--dls-dropdown-max-display-items` 来设置 `Autocomplete` 组件下拉浮层最大显示项目数,超出此高度将触发滚动。(给浮层设置样式可通过 `overlay-class` / `overlay-style` prop 的方式。)<!-- #Autocomplete -->
> #### 使用示例
>
> ```vue
> <!-- 配置最多显示 6 个选项(为提高在溢出且隐藏滚动条环境中的可访问性, -->
> <!-- 实际最大高度为 6.5 个选项的高度以提示更多选项的存在) -->
> <veui-dropdown
> :overlay-style="{ '--dls-dropdown-max-display-items': 6 }"
> ...
> />
> ```
## 2.0.0-beta.33
### 💡 主要变更
- [+] 新增了部分组件的文案配置 prop([#750](https://github.com/ecomfe/veui/issues/750)),具体包括:
- `Dialog` / `Drawer` / `ConfirmBox` / `PromptBox` 组件新增 `ok-label` / `cancel-label` prop;<!-- #Dialog #Drawer #ConfirmBox #PromptBox -->
- `AlertBox` 组件新增 `ok-label` prop;<!-- #AlertBox -->
- `Tabs` 组件新增 `add-label` prop;<!-- #Tabs -->
- `Transfer` 组件新增 `candidate-title` / `selected-title` prop。<!-- #Transfer -->
- [+] `AlertBox` / `ConfirmBox` / `PromptBox` 均补齐 `disabled` / `loading` prop,与 `Dialog` 组件对齐。<!-- #AlertBox #ConfirmBox #PromptBox -->
## 2.0.0-beta.32
### 💡 主要变更
- [^] `Overlay` 组件内容现在仅会在 `open` 状态下渲染,以提高渲染性能。<!-- #Overlay -->
- [^] 优化了 `Table` 组件内容溢出时的阴影样式。<!-- #Table -->
### 🐞 问题修复
- [^] 修正 `Carousel` 和 `Lightbox` 组件的项目插槽,从 `default` 修正为 `item`。修正 `Lightbox` 组件的 `desc` 插槽。<!-- #Carousel #Lightbox -->
- [^] 修正不同尺寸 `Cascader` 组件的样式问题。<!-- #Cascader -->
- [^] 修正 `SearchBox`、`Table` 筛选等下拉场景没有高度限制的问题。<!-- #SearchBox #Table -->
- [^] 修正 `file` 类型 `Uploader` 组件会发起预览网络请求的问题。<!-- #Uploader -->
## 2.0.0-beta.31
### 💡 主要变更
- [+] 新增 `Cascader` 及 `CascaderPane` 组件。<!-- #Cascader #CascaderPane -->
- [+] `Dialog` 组件新增 `disabled` 属性,用于控制确定按钮的启用/禁用。<!-- #Dialog -->
### 🐞 问题修复
- [^] 修正 `Select` 组件在 `s` / `xs` 尺寸下多选标签的样式。<!-- #Select -->
- [^] 修正 `Lightbox` 组件在 Safari 下无法正常显示内容的问题。<!-- #Lightbox -->
- [^] 修正 `Uploader` 组件在 `request-mode` 为 `custom` 时没有对返回值调用 `convertResponse` 的问题。(#800)<!-- #Uploader -->
- [^] 修正 `SearchBox` 在显示搜索提示时按下 <kbd>enter</kbd> 没有触发 `search` 事件的问题。(#806)<!-- #SearchBox -->
- [^] 修正 `Carousel` 组件尺寸不能通过最外层元素进行调整的问题。(#811)<!-- #Carousel -->
## 2.0.0-beta.30
### 💡 主要变更
- [+] `Tree` / `Transfer` 组件新增 `merge-checked` prop,用于对节点勾选的冗余信息进行合并。支持的值如下:<!-- #Tree #Transfer -->
- `keep-all`:默认值,选中值中包含所有勾选状态的节点。
- `upwards`:尽量向上合并,当某个节点下所有节点均勾选时仅保留该节点本身。
- `downwards`:尽量向下合并,仅保留叶子节点。
- [^] `Tree` 组件的被禁用的子节点现在允许切换展开/收起。<!-- #Tree -->
- [+] `Tree` 组件新增支持对于没有 `value` 的节点,根据 `name` 字段控制展开收起及节点选择(非勾选)状态,用来支持受控切换这两类状态且不出现在已勾选的输出值中(仅作为分组节点使用)。<!-- #Tree -->
- [+] 在 `Transfer` 组件的 `candidate-head` / `candidate-title` / `selected-head` / `selected-title` 插槽中新增了 `count` 插槽属性,分别表示备选数量和已选数量。<!-- #Transfer -->
### 🐞 问题修复
- [^] 修复 `Tree` 组件禁用逻辑,现在被禁用的节点的所有子节点也将被禁用。<!-- #Tree -->
- [^] 修复 `Transfer` 节点在禁用时会受“全选”/“清空”操作影响选择状态的问题。<!-- #Transfer -->
- [^] 修复 `Transfer` 在搜索/过滤后全选会选中所有数据而非过滤后数据的问题。<!-- #Transfer -->
- [^] 修正 `Select` 组件“未选择”状态的判断逻辑,现在 `null` / `undefined` / `[]` 均视为未选状态。<!-- #Select -->
- [^] 修正 `babel-plugin-veui` 在改写 `import` 时没有更新 local binding 导致 JSX 插件误判组件名为字符串的问题。<!-- #babel-plugin-veui -->
## 2.0.0-beta.29
### 💡 主要变更
- [+] `Overlay` 组件在层叠顺序变化时将触发 `orderchange` 事件。<!-- #Overlay -->
### 🐞 问题修复
- [^] 修复 `Transfer` 组件可以通过批量选择切换禁用项的问题。<!-- #Transfer -->
## 2.0.0-beta.28
### 💡 主要变更
- [+] `Uploader` 组件新增 `sortable` prop,支持上传文件的拖拽排序。<!-- #Uploader -->
- [+] `Transfer` 组件新增 `candidate` slot,用于替换整个待选面板的内容。<!-- #Transfer -->
### 🐞 问题修复
- [^] `$confirm` 插件在同步回调时不再显示 loading 状态。<!-- #$confirm -->
- [^] 修复了 `Select` 组件无法通过键盘 focus 的问题。<!-- #Select -->
- [^] 修复了 `RadioButtonGroup` 通过方向键切换选项时可能报错的问题。<!-- #RadioButtonGroup -->
- [^] 修复了 `Link` 组件引用了错误的 `event` 对象的问题。<!-- #Link -->
- [^] 修正了 `Select` 下拉浮层在出现内部滚动时,下层选项组展开定位不符合预期的问题。<!-- #Select -->
## 2.0.0-beta.27
### ⚠️ 非兼容性变更
- [^] `Select` 与 `Dropdown` 组件的 `trigger` slot 属性中 `props` 被重命名为 `attrs`,用来表达需要输出到 DOM 元素上的属性。<!-- #Select #Dropdown -->
### 💡 主要变更
- [+] `Column` 组件新增 `filter-options` 与 `filter-multiple` prop,用于开启内置的下拉筛选并设置单选/多选。<!-- #Column -->
- [^] `Column` 组件的 `filter-value` prop 可以支持 `true` 以外的其它属性,在使用内置下拉筛选时对应下拉选项的 `value` 值。当值为 `null` 时,用来指定筛选未激活的状态。<!-- #Column -->
- [+] `Column` 组件新增 `filter-title` prop,用于指定下拉筛选的标题说明。<!-- #Column -->
- [+] `Dropdown` 组件的 `trigger` slot 新增作用域参数 `expanded` / `toggle`,用于获取/切换下拉菜单的展开状态。<!-- #Dropdown -->
### 🐞 问题修复
- [^] 修复了 `less-plugin-dls` 版本依赖错误的问题。
## 2.0.0-beta.26
### ⚠️ 非兼容性变更
- [-] 已移除 `Uploader` 组件的 `compat` prop,不再兼容 `string` 类型的 `value`。<!-- #Uploader -->
### 💡 主要变更
- [^] `Uploader` 组件大幅重构,并拆分组件实现。<!-- #Uploader -->
- [+] `Uploader` 组件新增 `key-field` prop,用于指定 `value` 数组项的唯一键的键名。默认为 `'key'`。<!-- #Uploader -->
- [+] `Uploader` 组件的 `value` 数组项新增唯一键字段,用于数据回填时的定位到准确的位置。<!-- #Uploader -->
- [+] `Uploader` 组件新增 `multiple` prop,用于指定 `value` 的数据类型是否为数组。如果 `multiple` 为 `true`,即使 `maxCount` 为 `1`,`value` 仍为数组类型。而当指定了大于 `1` 的 `max-count` 值,即使 `multiple` 为 `false` 也不会生效,`value` 始终为数组。<!-- #Uploader -->
- [+] `Uploader` 组件新增 `after-pick` 函数 prop,用于新增在选择完文件后执行定的 hook 逻辑。<!-- #Uploader -->
### 🐞 问题修复
- [^] 修正了 `Table` 组件没有正确处理非可排序列的标题交互状态导致可能报错的问题。<!-- #Table -->
## 2.0.0-beta.25
### 💡 主要变更
- [+] `v-drag` 指令增加 `sort` 类型,用于容器内元素列表的拖动排序。<!-- #v-drag -->
- [+] `Progress` 组件在进度条模式下支持新增的属性 `indeterminate`,用于展示不确定进度的情况。<!-- #Progress -->
### 🐞 问题修复
- [^] 修复 `Uploader` 组件的 `max-size` 校验在 iframe 上传模式下失效的问题。<!-- #Uploader -->
- [^] 为 `file` 类型的 `Uploader` 在 iframe 上传模式下提供正常的进度条展示(不确定进度)。<!-- #Uploader -->
## 2.0.0-beta.24
### 💡 主要变更
- [+] `Column` 组件新增 `filter-value` prop,用来指定表格列的筛选值。当前仅支持在发生过筛选后设置为 `true`。<!-- #Column -->
- [+] `Column` 组件新增 `filter` slot,用来指定自定义筛选下拉浮层内容。<!-- #Column -->
### 🐞 问题修复
- [^] 修正 `RadioGroup` / `CheckboxGroup` 组件样式可能错误触发容器发生溢出滚动的问题。<!-- #RadioGroup -->
- [^] `Link` 组件的 `to` prop 现在可以正常使用绝对路径了。<!-- #Link -->
- [^] 修正 `Radio` / `Checkbox` / `Switch` 组件在点击时会触发两次 `click` 事件的问题。<!-- #Radio -->
## 2.0.0-beta.23
### ⚠️ 非兼容性变更
- [-] 已移除实验性全局配置项 `modal.scrollLockMode`,原因是保留滚动位置时无法保证屏幕不发生瞬间闪烁。<!-- #veui -->
### 🐞 问题修复
- [^] 修正 `Overlay` 组件在有开启 `inline` / `local` prop 的父级 `Overlay` 时报错的问题。<!-- #Overlay -->
- [^] 修正 `Uploader` 组件在单文件模式下外部修改文件列表不正常的问题。<!-- #Uploader -->
## 2.0.0-beta.22
### 🐞 问题修复
- [^] 修正 `Uploader` 组件插槽参数中字段缺失 `status` 的问题。<!-- #Uploader -->
- [^] 修正遗漏 `shopping-cart` 和 `film` 图标的问题。<!-- #veui-theme-dls-icons -->
## 2.0.0-beta.21
### 💡 主要变更
- [^] `Dialog` 触发滚动锁定时,新增实验性全局配置项 `modal.scrollLockMode`,可选值为 `safe` / `advanced`。<!-- #Dialog -->
> #### 详细说明
>
> 滚动锁定用来处理在出现全屏遮罩时,滚动行为透传到上层滚动容器的问题。目前的主流方案都使用 `overflow: hidden` 将上层滚动容器锁定,但当滚动条可见时,切换时会导致容器内部的尺寸发生变化进而发生抖动,故通常方案将在容器上添加一个额外的与滚动条宽度相同的 `padding-right` 来保持内部布局的稳定,也就是 `safe` 模式下采取的行为。但当视口发生滚动时,隐藏其滚动条将使得视口尺寸发生变化,固定定位元素的相对参考位置也会发生变化,会对这部分元素产生滚动条宽度的抖动。如果想避免这一现象,可以全局配置 `modal.scrollLockMode` 为 `advanced`,将采取另一种锁定策略,将 `<body>` 元素固定定位到撑满视口并 `overflow: hidden`,从而使视口不会发生内容溢出,同时强制 `<html>` 使用 `overflow: scroll`,保证视口滚动条依然展示,以达到视口内内容的稳定。但这种模式下同样可能对本身相对 `<body>` 元素底部绝对定位的元素产生副作用。使用时可以测试两种不同的模式后自行选择。
### 🐞 问题修复
- [^] 修正 `Uploader` 组件插槽参数中字段缺失的问题。<!-- #Uploader -->
- [^] 修正 `Select` 组件在校验错误状态下的样式问题(#758)。<!-- #Select -->
## 2.0.0-beta.20
### 💡 主要变更
- [^] `Table` 组件现在在整个表头区域内点击都会触发排序(如果开启了排序功能),内部可获取焦点的元素(被认为可以触发其它交互)除外。<!-- #Table -->
### 🐞 问题修复
- [^] 修正 `Uploader` 组件后缀名校验不正确的问题。<!-- #Uploader -->
- [^] 修正 `Tooltip` 组件内容可能溢出容器的问题。<!-- #Tooltip -->
- [^] 修正 `Link` 组件在新标签/窗口打开链接(通过 <kbd>Ctrl</kbd>/<kbd>Shift</kbd>/<kbd>⌘</kbd> + 鼠标点击或链接包含 `target="_blank"` 时)时,原标签/窗口内容发生跳转的问题。<!-- #Link -->
## 2.0.0-beta.19
### 🐞 问题修复
- [^] 更新 `dls-icons-vue` 依赖,修正图标 treeshake 逻辑没有正常生效的问题。<!-- #veui-theme-dls-icons -->
## 2.0.0-beta.18
### 🐞 问题修复
- [^] 修正 `veui-theme-dls-icons` 图标没有更新的问题。<!-- #veui-theme-dls-icons -->
## 2.0.0-beta.17
### 💡 主要变更
- [+] `Column` 组件新增 `desc` prop,可用来在表头通过 `Popover` 输出额外说明。同时新增对应的 `desc` 插槽,来自定义 `Popover` 组件的内容。<!-- #Table -->
- [+] `Tabs` 组件新增 `eager` prop,将提前渲染未激活的标签面板内容。<!-- #Tabs -->
### 🐞 问题修复
- [^] 修正 `Uploader` 组件在图片/视频上传时底栏操作时间遗漏回调参数的问题。<!-- #Uploader -->
- [^] 修正 `Tabs` 组件有时无法滚动到最后的问题。<!-- #Tabs -->
## 2.0.0-beta.16
### 🐞 问题修复
- [^] 修正 `Tabs` 组件在移除标签项时激活状态切换不正确的问题。<!-- #Tabs -->
## 2.0.0-beta.15
### 💡 主要变更
- [+] `Lightbox` 组件新增 `options` prop,允许指定视频项播放时的 `muted` / `autoplay` / `controls` 等配置。<!-- #Lightbox -->
- [+] `Uploader` 组件新增 `preview-options` prop,允许指定预览时调用的 `Lightbox` 的配置。<!-- #Uploader -->
### 🐞 问题修复
- [^] 修正 `Uploader` 组件在图片、视频上传状态下的预览图标。<!-- #Uploader -->
- [^] 修正 `Uploader` 组件有时没有正确处理图片预览的问题。<!-- #Uploader -->
- [^] 修正 `Uploader` 组件在某一上传项第二次上传/校验失败后无法展示失败理由的问题。<!-- #Uploader -->
- [^] 修正 `Lightbox` 未处理初始化时焦点导致打开后初始状态下键盘切换项目失效的问题。<!-- #Lightbox -->
- [^] 修正 `Pagination` 组件在没有传入 `to` prop 时,点击跳转到 x 页后没有触发 `redirect` 事件的问题。<!-- #Pagination -->
## 2.0.0-beta.14
### 🐞 问题修复
- [^] 修正 `veui` 没有正确标注 `dls-graphics` 依赖类型的问题。<!-- #veui -->
## 2.0.0-beta.13
### 🐞 问题修复
- [^] 修正 `veui-loader` 没有正确标注 `magic-string` 依赖类型的问题。<!-- #veui-loader -->
## 2.0.0-beta.12
### ⚠️ 非兼容性变更
- [+] `Uploader` 组件新增了 `m` / `s` 两种 `ui` 属性值,默认尺寸有所增大。<!-- #Uploader -->
### 💡 主要变更
- [+] 新增了 `Lightbox` 组件。<!-- #Lightbox -->
- [+] 为 `Dropdown` / `Select` / `SearchBox` / `DatePicker` / `TimePicker` / `Autocomplete` 组件新增可受控 prop `expanded` 和 `toggle` 事件,用来控制其下拉浮层的展开/收起。<!-- #Dropdown -->
- [+] `Table` 组件新增 `loading` prop,展示“加载中”状态。<!-- #Table -->
- [+] `Table` / `Column` 组件新增 `allowed-orders` prop,支持定制允许的顺序。<!-- #Table -->
- [+] `Select` 组件新增 `trigger` 插槽,用于自定义下拉触发区域。<!-- #Select -->
- [+] `Select` 组件新增 `selected` 插槽,用于自定义下拉按钮已选项回填内容的展示。<!-- #Select -->
> #### 与 `label` 插槽的区别
>
> `label` 插槽仅针对收起状态下的已选项回填内容,而 `selected` 插槽包括了展开状态下的已选项回填内容。
- [+] `Uploader` 组件新增了 `type` prop 的可选值 `video` / `media`,用来支持视频上传的场景。<!-- #Uploader -->
- [+] `Uploader` 组件新增了 `entries` prop,内置了多入口操作的功能,类型和 `controls` 的返回值相同。<!-- #Uploader -->
- [^] 为 `Loading` 组件添加了新的动效。<!-- #Loading -->
### 🐞 问题修复
- [^] 修正 `Progress` 组件偶尔会由于浏览器编码识别错误显示了错误内容的问题。<!-- #Progress -->
- [^] 修正 `RadioGroup` 组件和 `CheckboxGroup` 组件在内容换行时显示不正确的问题。<!-- #RadioGroup -->
- [^] 修正 `SearchBox` 组件按下 <kbd>enter</kbd> 时触发表单提交的问题。<!-- #SearchBox -->
- [^] 修正 `Select` 组件在清空时将禁用的选项一同清空的问题。<!-- #Select -->
## 2.0.0-beta.11
### 💡 主要变更
- [+] `Uploader` 组件的 `upload` 自定义函数 prop 中的第二个参数增加 `oncancel: Function` 字段,可在自定义上传逻辑中主动取消上传。对于“重新上传”场景,取消后将恢复为之前已经上传的文件。<!-- #Uploader -->
### 🐞 问题修复
- [^] 修复从外部改变 `Uploader` 组件的 `value` prop 导致渲染不正确的问题。<!-- #Uploader -->
- [^] 修复了 `Dialog` 组件在关闭时也可能抛出 `cancel` 事件的问题。<!-- #Dialog -->
- [^] 修复了 `NumberInput` 组件在右键点击调节按钮时会触发连续调整的问题。<!-- #NumberInput -->
## 2.0.0-beta.10
### 🐞 问题修复
- [^] 修复上个版本 `Overlay` 组件 `target` 更新逻辑引入的导致 `match-width` 在第一次浮层展开时失效的问题。<!-- #Overlay -->
- [^] 修正 `Form` 组件没有正确通过 `Field` 的 `name` prop 进行识别的问题。<!-- #Form -->
- [^] 修正 `Accordion` 组件无限重渲染的问题。<!-- #Accordion -->
## 2.0.0-beta.9
### 💡 主要变更
- [+] `DatePicker` 组件新增 `parse` prop 用于指定如何从输入值解析日期对象。<!-- #DatePicker -->
- [+] `DatePicker` 组件新增 `selectstart` / `selectprogress` 事件,用于对外同步日期范围选择的过程信息。<!-- #DatePicker -->
- [+] `Calendar` / `DatePicker` 组件的 `disabeldDate` prop 在日期范围选择过程中,新增第二个参数,表示当前第一个选择日期。<!-- #Calendar -->
- [+] `Input` / `Textarea` 组件新增 prop `get-length`,用于自定义计算已输入字符串长度的逻辑。<!-- #Input #Textarea -->
### 🐞 问题修复
- [^] 修复 `Schedule` 组件快捷选项由于引用被修改导致的数据混乱。<!-- #Schedule -->
- [^] 修复了 `Dialog` / `Table` 组件在极端条件下触发 Firefox 图层合成 bug 的问题。<!-- #Dialog #Table -->
- [^] `Overlay` 组件现在不仅在初始化时查找 `target` 对应元素,而是在每次显示时均查找,使得定位逻辑不再依赖对应元素的渲染顺序。<!-- #Overlay -->
- [^] 修正了 `Select` 组件中已选的 `disabled` 选项可以被删除的问题。<!-- #Select -->
- [^] 修正了 `Select` 组件中内联 `Option` 的 `disabled` prop 不生效的问题。<!-- #Select -->
## 2.0.0-beta.8
### 💡 主要变更
- [+] `Uploader` 组件的插槽 `button-label` 现在对图片上传也生效(默认为添加图片图标)。<!-- #Uploader -->
- [^] 去除了所有输入组件、按钮默认的 `vertical-align: middle` 样式。<!-- #Autocomplete #Badge #ButtonGroup #Button #Dropdown #InputGroup #Input #Loading #Pagination #Progress #SearchBox #Select #Switch #Tag -->
### 🐞 问题修复
- [^] 修正 `Transfer` 组件无法正常删除父级选项的问题。<!-- #Transfer -->
- [^] 修正 `Input` 组件在 Firefox 下无法正常输入的问题。<!-- #Input -->
- [^] 修复 `Dialog` 内容在极端场景下触发 Firefox 图层合成 bug 的问题。<!-- #Dialog -->
- [^] 默认为可搜索的 `Select` 中的 `Input` 关闭了原生 `autocomplete` 功能,以避免原生浮层与 `Select` 下拉浮层重叠的问题。<!-- #Select -->
## 2.0.0-beta.7
### 🐞 问题修复
- [^] 修复 `Tab` 面板内容没有正确响应外部数据变化的问题。<!-- #Tab -->
- [^] 修复 `CheckboxGroup` 选项间距不正确的问题。<!-- #CheckboxGroup -->
## 2.0.0-beta.6
### ⚠️ 非兼容性变更
- [^] `veui-theme-dls-icons` 中的 `plus-square-circle` 和 `storage` 图标名称分别修正为 `plus-square` 和 `save`。<!-- #veui-theme-dls-icons -->
### 💡 主要变更
- [+] `CheckboxGroup` 和 `CheckButtonGroup` 组件的 `items` prop 项目支持传入 `exclusive: true` 来指定当前项为排它选项,即选择后将取消其它选中项。<!-- #CheckboxGroup #CheckButtonGroup -->
- [+] `CheckboxGroup` 和 `CheckButtonGroup` 组件新增 `empty-value` prop,用来指定在用户取消所有复选项时需要重新选中的项目,需要配合新增的 `exclusive` 使用。<!-- #CheckboxGroup #CheckButtonGroup -->
- [+] 为 `ButtonGroup` 的 `ui` 增加可选值 `basic`。<!-- #ButtonGroup -->
### 🐞 问题修复
- [^] 修正 `Slider` 组件值为 `0` 时渲染不正常的问题。<!-- #Slider -->
## 2.0.0-beta.5
### 🐞 问题修复
- [^] 修复 `Select` 组件中使用了废弃的 `Tag` 组件接口的问题。<!-- #Select -->
- [^] 修复 `Dropdown` 组件焦点状态不会在关闭后自动清除的问题。<!-- #Dropdown -->
- [^] 修复 `DatePicker` 组件浮层位置无法指定的问题。<!-- #DatePicker -->
- [^] 修复图标按钮内图标的边距问题。<!-- #Button -->
- [^] 修复 `Table` 组件表头图标颜色错误的问题。<!-- #Table -->
- [^] 修复 `Menu` 组件顶层导航项的字重。<!-- #Menu -->
## 2.0.0-beta.4
### ⚠️ 非兼容性变更
- [+] `Tag` 组件的 `closable` prop 重命名为 `removable`。<!-- #Tag -->
- [+] `Tag` 组件的 `close` 事件重命名为 `remove`。<!-- #Tag -->
### 💡 主要变更
- [+] `NumberInput` 组件增加 `parse` / `format` prop,用来对输入的内容进行格式化输出。<!-- #NumberInput -->
- [+] `Tag` 组件增加 `removed` prop,可以通过外部控制是否被移除。<!-- #Tag -->
## 2.0.0-beta.3
### ⚠️ 非兼容性变更
- [^] `veui-theme-dls-icons` 中,`triangle-up` / `triangle-right` / `triangle-down` / `triangle-left` 分别重命名为 `caret-up` / `caret-right` / `caret-down` / `caret-left`。<!-- #veui-theme-dls-icons -->
### 💡 主要变更
- [^] 所有支持 `v-model` / `.sync` 的 prop 现在均支持完全受控模式。<!-- #Accordion #Alert #AlertBox #CheckButtonGroup #CheckboxGroup #Collapse #ConfirmBox #Dialog #Drawer #Input #NumberInput #Progress #PromptBox #Radio #SearchBox #Select #Slider #Switch #Table #Tabs #Tag #Textarea #TimePicker #Toast #Tooltip #Transfer #Tree #Uploader -->
- [+] `Input` 组件增加 `placeholder` 插槽。<!-- #Input -->
- [^] `Select` 组件的 `label` 插槽现在可以对 `multiple` 及 `searchable` 的状态生效了。<!-- #Select -->
### 🐞 问题修复
- [^] 修复 `Icon` 组件 `name` 为 `null` 时报错的问题。<!-- #Icon -->
- [^] 修复 `Select` / `Slider` / `Tabs` / `InputGroup` / `Collapse` 等组件样式细节。<!-- #Select #Slider #Tabs #InputGroup #Collapse -->
- [^] 修复 `Label` 组件 `for` prop 不支持传入组件/元素的问题。<!-- #Label -->
## 2.0.0-beta.2
### ⚠️ 非兼容性变更
- [-] 移除 `veui-theme-one-icons`。<!-- #veui-theme-one-icons -->
### 💡 主要变更
- [+] 允许 `CheckButtonGroup` 配置 `icons.check` 来指定已选项的图标。<!-- #CheckButtonGroup -->
### 🐞 问题修复
- [^] 修复多数组件内的图标按钮样式。
- [^] 修复 `DatePicker` 与 `Textarea` 的样式问题。<!-- #DatePicker #Textarea -->
## 2.0.0-beta.1
### 💡 主要变更
- [^] 基于 `dls-icons-vue` 重新实现了 `veui-theme-dls-icons`。<!-- #veui-theme-dls-icons -->
- [^] `RadioButton` 组件的 `value` prop 支持可受控模式。<!-- #RadioButton -->
### 🐞 问题修复
- [^] 修复了全局 config 模块可能进入无限递归的问题。<!-- #veui -->
## 2.0.0-beta.0
### ⚠️ 非兼容性变更
- [^] `veui-theme-dls` 对组件的 `ui` prop 进行了调整,见下表。<!-- #Button #Dropdown #Field #Table #Tabs #Tag -->
| 组件 | 删除 | 新增 |
| ---------- | ------------------------------------ | ------------------------------------- |
| `Button` | - | `normal` / `basic` / `aux` / `square` |
| `Dropdown` | - | `basic` / `normal` |
| `Field` | `micro` / `tiny` / `small` / `large` | `xs` / `s` / `m` / `l` |
| `Table` | - | `compact` / `loose` / `normal` |
| `Tabs` | - | `simple` / `strong` |
| `Tag` | `borderless` | `bordered` |
其中,按钮默认样式变为 `normal`,原默认样式现对应为 `basic`。
- [^] 将 `ButtonGroup` / `RadioGroup` / `CheckboxGroup` / `RadioButtonGroup` / `CheckButtonGroup` 组件的每个项目的作用域插槽从 `default` 更名为 `item`。后续使用时需要用 `<template #item="...">...</template>` 自定义项目内容。<!-- #ButtonGroup #RadioGroup #CheckboxGroup #RadioButtonGroup #CheckButtonGroup -->
- [-] 移除了 `GridContainer` 组件的 `flex` prop,默认行容器均使用 flex 布局,不再按条件指定。<!-- #GridContainer -->
- [-] 移除了 `Input` 组件的 `prepend` / `append` 插槽,并将 `before` / `after` 插槽移入 `Input` 内部。原有的前后组合的场景请使用 `InputGroup` 组件进行组合输入型组件使用。<!-- #Input -->
- [^] `NumberInput` 组件的 `prepend` / `append` 插槽重命名为 `before` / `after`。<!-- #NumberInput -->
- [^] `Progress` 组件的 `append` 插槽重命名为 `after`。<!-- #Progress -->
- [^] `Tree` 组件的 `item-prepend` / `item-append` 插槽重命名为 `item-before` / `item-after`。<!-- #Tree -->
### 💡 主要变更
- [^] 将整体设计切换到了 D20 版本。<!-- #veui-theme-dls -->
- [^] 新增 `Nav` 组件。<!-- #Nav -->
- [+] `Alert` 组件的 `default` / `extra` 插槽增加参数 `close`,可用来控制提示的关闭。<!-- #Alert -->
- [+] `Alert` 组件的 `extra` 插槽增加参数 `message`。<!-- #Alert -->
- [+] `Form` 组件新增 `actions` 插槽,用来放置操作按钮。<!-- #Form -->
- [+] `Icon` 组件的 `name` prop 支持直接传入组件定义进行渲染,此时只支持 `spin` 属性。<!-- #Icon -->
- [+] `OptionGroup` 组件的 `option-tag` prop 支持传入 `function`,来根据选项数据动态生成内部 `Option` / `OptionGroup` 使用的标签。<!-- #OptionGroup -->
- [^] `Tree` 组件的 `item` / `item-before` / `item-after` / `item-label` 增加参数 `expanded` 和 `parents`。<!-- #Tree -->
- [+] `Tree` 组件新增 `include-indeterminate` prop,用来指定半选状态的节点是否被计入 `checked` 结果中。<!-- #Tree -->
### 🐞 问题修复
- [^] 修复了 `Menu` 组件的键盘导航功能。<!-- #Menu -->
## 2.0.0-alpha.21
### 🐞 问题修复
- [^] 修正 `Uploader` 组件 `invalid` 事件参数中丢失错误 `type` 字段的问题。<!-- #Uploader -->
## 2.0.0-alpha.20
### 💡 主要变更
- [+] `Uploader` 组件新增 `invald` 事件,在文件校验失败、选择的文件数量超过最大数量限制时触发,回调参数为包含错误信息的数组。<!-- #Uploader -->
- [+] `Uploader` 组件的 `failure` 事件的第一个回调参数文件对象增加字段 `message`,表示错误信息。<!-- #Uploader -->
## 2.0.0-alpha.19
### 🐞 问题修复
- [^] 修正 `NumberInput` 在输入值被 `min` / `max` 裁切时没有正确同步变更的问题。<!-- #NumberInput -->
## 2.0.0-alpha.18
### 🐞 问题修复
- [^] 修正 `Uploader` 在 `iframe` 模式并且已选文件数量达到 `max-count` 的情况下,没有正确上传文件的问题。<!-- #Uploader -->
- [^] 修正 `Uploader` 在 `iframe` 模式下,反复上传文件列表最后一个文件的问题。<!-- #Uploader -->
## 2.0.0-alpha.17
### 💡 主要变更
- [^] `toast` 插件调用后返回值从 `void` 修改为 `function` 类型,调用后将关闭该条提示,可用于自行控制 `Toast` 关闭时机。<!-- #$toast -->
### 🐞 问题修复
- [^] 修正 `Alert` 组件调用 `extra` 插槽的方式,使得不管单条/多条情况下可以使用同样方式调用。<!-- #Alert -->
- [^] 修正 `Alert` 组件数据变化时当前索引值可能溢出的问题。<!-- #Alert -->
## 2.0.0-alpha.16
### 💡 主要变更
- [+] `Checkbox` 组件的 `checked` prop 支持可受控模式。<!-- #Checkbox -->
### 🐞 问题修复
- [^] 修复了 `OptionGroup` 组件在使用内联写法时,动态数据源可能导致渲染结果不正确的问题。<!-- #OptionGroup -->
- [^] 修复了 `OptionGroup` 组件的 `before` / `after` slot 在配合 `v-slot` 语法结合动态数据源时在数据变化后消失的问题。<!-- #OptionGroup -->
## 2.0.0-alpha.15
### 💡 主要变更
- [+] `Overlay` 组件新增了 `local` prop,值为 `true` 时浮层将不被移到 `<body>` 元素下并且脱离全局浮层顺序管理。<!-- #Overlay -->
### 🐞 问题修复
- [^] 修复了 `Overlay` 组件没有正确销毁的问题。<!-- #Overlay -->
- [^] 修复了 `InputGroup` 组件在子组件指定了自定义的 `class` 时样式可能不正确的问题。<!-- #InputGroup -->
## 2.0.0-alpha.14
### 💡 主要变更
- [^] `Calendar` 组件的 `selected` prop 支持可受控模式。<!-- #Calendar -->
- [^] `Carousel` 组件的 `index` prop 支持可受控模式。<!-- #Carousel -->
- [^] `TimePicker` 组件的 `value` prop 支持可受控模式。<!-- #TimePicker -->
- [^] `Dropdown` 组件新增 slot `trigger`,用于自定义下拉触发区域。<!-- #Dropdown -->
- [+] `Dropdown` 组件默认 slot 新增参数 `close` 函数,用来在自定义下拉内容区时需要关闭下拉浮层时调用。<!-- #Dropdown -->
- [+] `Overlay` 组件新增 `local` prop,用来指定不将浮层移动到 `document.body` 下,脱离全局浮层管理。<!-- #Overlay -->
### 🐞 问题修复
- [^] 修复了 `Popover` 组件的 `ui` prop 不生效的问题。<!-- #Popover -->
- [^] 修复了 `Tabs` 组件在销毁时依然触发 `active` 变化的问题([#659](https://github.com/ecomfe/veui/issues/659))。<!-- #Tabs -->
- [^] 修正了 `Tabs` 组件在 Safari 下的样式问题。<!-- #Tabs -->
- [^] `Menu` 组件使用路由的 `path` 来计算当前激活的项目,而不是 `fullPath`。<!-- #Menu -->
## 2.0.0-alpha.13
### 💡 主要变更
- [+] `Autocomplete` 组件新增了 `option-label` 插槽。<!-- #Autocomplete -->
- [+] `OptionGroup` 组件新增 `before` / `after` 插槽,用于在 `popup` 模式下在新开浮层上下插入自定义内容。<!-- #OptionGroup -->
### 🐞 问题修复
- [^] 修复了 `Tab` 组件的 `label` 等 prop 更新时视图没有同步更新的问题。<!-- #Tab -->
- [^] 修复了 `Menu` 组件数据源在 SSR 环境下无限循环的问题。<!-- #Menu -->
- [^] 修复了 `Anchor` 组件在 SSR 环境下访问 DOM 的问题。<!-- #Anchor -->
## 2.0.0-alpha.12
### 🐞 问题修复
- [^] `veui` 现在在 `babel-plugin-veui` 的 `peerDependencies` 中,以免多版本共存时 `babel-plugin-veui` 无法找到正确的 `veui` 版本。<!-- #babel-plugin-veui -->
- [^] 修复了 `Menu` 组件非受控模式下第一次没有正确同步当前路由状态的问题。<!-- #Menu -->
- [^] 修复了 `Calendar` 组件 `disabled-date` prop 对显示在本月的前后月日期未生效的问题([#644](https://github.com/ecomfe/veui/issues/502))。<!-- #Calendar -->
- [^] 现在 `ButtonGroup` 组件只有在按钮项 `value` 为字符串时抛出同名事件,避免在非字符串类型时报错。<!-- #ButtonGroup -->
- [^] 去除了多选 `Select` 组件已选项默认滚动入可视区域的行为(因为可能有多个已选项)。<!-- #Select -->
- [^] 修正了开启搜索功能的 `Dropdown` 组件搜索栏和选项区域同时滚动的问题,搜索栏现在固定在下拉菜单顶端。<!-- #Dropdown -->
## 2.0.0-alpha.11
### ⚠️ 非兼容性变更
- [-] 移除了 `babel-preset-veui`。<!-- #babel-preset-veui -->
- [-] 移除了 `veui-theme-one`。<!-- #veui-theme-one -->
- [-] 移除了 `Tabs` 组件的 `index` prop,现在控制激活标签页只能使用 `active` prop,并支持可受控模式。<!-- #Tabs -->
> #### 使用指南
>
> ##### 使用 `active` prop 与 `change` 事件完全外部控制激活状态
>
> ```html
> <veui-tabs :active="active" @change="tab => active = tab.name">
> <veui-tab label="A" name="a">Content A</veui-tab>
> <veui-tab label="B" name="b">Content B</veui-tab>
> <veui-tab label="C" name="c">Content C</veui-tab>
> </veui-tabs>
> ```
>
> ##### 使用 `active.sync` 双向同步激活状态
>
> ```html
> <veui-tabs :active.sync="active">
> <veui-tab label="A" name="a">Content A</veui-tab>
> <veui-tab label="B" name="b">Content B</veui-tab>
> <veui-tab label="C" name="c">Content C</veui-tab>
> </veui-tabs>
> ```
>
> ##### 激活状态完全由组件内部控制
>
> ```html
> <veui-tabs>
> <veui-tab label="A">Content A</veui-tab>
> <veui-tab label="B">Content B</veui-tab>
> <veui-tab label="C">Content C</veui-tab>
> </veui-tabs>
> ```
- [^] `Tabs` 组件的 `tabs-extra` slot 更名为 `extra`,且仅包括提示区域的内容,不包括添加按钮。<!-- #Tabs -->
- [-] 移除了 `Tabs` 组件的 `tabs-extra-label` 与 `tabs-extra-tip` slot。<!-- #Tabs -->
- [^] `Tabs` 组件的 `tab-item` scoped slot 现在包含整个按钮/链接,方便替换为自定义实现。<!-- #Tabs -->
- [-] 移除了`Tabs` 组件的 `tab-item-extra` scoped slot,`removable` 的 `Tab` 组件始终显示移除按钮。<!-- #Tabs -->
- [^] `Tabs` 组件在路由模式下,不再自动输出 `<router-view>` 组件,需要通过 `Tab` 的 `default` slot 或 `Tabs` 新增的 `panel` slot 中进行输出。<!-- #Tabs -->
> #### 使用指南
>
> ##### (嵌套)路由模式
>
> 在之前的版本,如果 `Tab` 组件的 `default` slot 未传入任何内容,路由模式下 VEUI 会自动在标签内容容器内渲染 `<router-view>`。这导致在不使用嵌套路由时或是希望灵活控制 `<router-view>` 位置时产生额外的问题。所以在这个版本中移除了这个逻辑,用户可以使用 `Tabs` 的 `panel` slot 来统一在标签内容容器中输出 `<router-view>`,也可以在某些 `Tab` 的 `default` slot 中输出 `<rou