Skip to content

Latest commit

 

History

History
2771 lines (1930 loc) · 149 KB

CHANGELOG.md

File metadata and controls

2771 lines (1930 loc) · 149 KB

2.11.2 (2022-01-11)

🐞 问题修复

  • [^] 修复了 Table 在极端场景下,切换作用域插槽实现时,渲染更新不及时的问题。
  • [^] 在极端场景下(Column 组件默认插槽内容从非嵌套列切换到嵌套列时)可能出现较多多余渲染且命令行提示重复 key 错误的问题,现在可以通过为最末层 Column 组件设置 group prop 来绕过。

2.11.1 (2022-12-27)

🐞 问题修复

  • [^] 修复 Field 组件在校验中情况下出现高度抖动的问题。
  • [^] 修复 drag 指令没有正确处理 handle 属性是 CSS 选择器的场景。
  • [^] 修复 Cascader 组件在不可搜索的情况下选中值太长而出现超出的问题。

🧪 实验性功能

  • [+] 为 Dialog 组件新增了实验性的 CSS 自定义属性 --dls-dialog-width--dls-dialog-content-width 来更加精细地指定宽度。

2.11.0 "👻 Ghost" (2022-12-13)

💡 主要变更

  • [^] Button 组件新增幽灵按钮变体 ghost / ghost strong / ghost aux / ghost reverse

🐞 问题修复

  • [^] Tab 组件的 label 插槽现在可以访问 active 参数了。
  • [^] 修正了 Table 组件在未设置 scrollscroll.x 时,在有横向滚动时没有同步滚动表头的问题。
  • [^] 修正了 Table 组件横向滚动在没有固定列时边缘阴影未正确展示的问题。

2.10.4 (2022-12-06)

🐞 问题修复

  • [^] Tabs 组件的 scrollTabIntoView 方法参数从 tabId 修正为 tabName

2.10.3 (2022-12-01)

💡 主要变更

  • [+] Tabs 组件新增 scrollTabIntoView 方法,用于将指定的标签页滚动到组件视口。
  • [^] Tabs 组件会在渲染 panel 插槽时自动加上 key, 避免出现切换时插槽内组件复用。
  • [+] 为 NumberInputDatePickerTimePicker 组件自动增加输入掩码供功能(暂时在 Firefox 下无效)。

🐞 问题修复

  • [^] 修正 Textarea 组件在禁用状态下的文字颜色。

2.10.2 (2022-11-09)

⚠️ 非兼容性变更

  • [^] Tabs 组件的 sort 事件参数从整个 items 列表,调整为 (fromIndex: number, toIndex: number)

2.10.1 (2022-11-08)

💡 主要变更

  • [+] Tabs 组件新增 sortable 属性和 sort 事件,允许对选项卡进行拖拽排序。
  • [+] Tabs 组件新增 items 属性,允许通过数据源的方式定义选项卡内容。
  • [+] v-drag 指令新增 exclude 选项,用于指定不触发拖拽回调的区域。

2.10.0 "🍪 Cookie" (2022-10-14)

💡 主要变更

  • [^] 调整了全局色板的生成逻辑,使浅背景色更容易辨识。
  • [^] 升级了 Steps 组件的默认视觉风格。
  • [+] Steps 组件新增 ui 样式 dot,提供圆点样式步骤。
  • [+] Steps 组件新增 stateless 属性,支持纯展示型无状态步骤。
  • [+] Tabs 组件新增 ui 样式 borderless,支持默认样式下隐藏底部分割线。

2.9.0 "🍄 Mushroom" (2022-09-13)

💡 主要变更

  • [+] 新增 LoadingBar 组件,用于使用进度条来展示加载中的状态。
  • [+] Table 组件新增 loading-options 属性和全局配置项 table.loadingOptions,用于指定加载中状态的选项配置。
  • [^] Table 组件默认使用进度条型加载态,以代替原来的转动提示。可以通过设置 loadingOptions.typespinner 切换回之前版本的加载态。在进度条模式下,如果加载过程已经正确处理了数据请求的竞态,可以设置 loadingOptions.modalfalse,开启非模态的加载态,以提供更流畅的操作体验。
  • [+] Progress 组件新增了可选的 ui 尺寸 xs
  • [^] Progress 组件在环形模式下现在根据 ui 尺寸不同,进行了尺寸上的调整。

🐞 问题修复

  • [^] 修正 Uploader 组件 key-field 指定的字段可能被覆盖的问题。
  • [^] 修正 RadioButtonGroup 组件在禁用状态(整体禁用 & 单项禁用)下依然可以通过键盘获取焦点并进行修改的问题。
  • [^] 修正 Icon 组件的 spin 属性失效的问题。

2.8.2 (2022-08-01)

🐞 问题修复

  • [^] 修正 babel-plugin-veui 没有正确处理将 identifier 通过别名引入的问题。
  • [^] 修正 Tag 组件的删除按钮不能正常接收焦点的问题。
  • [^] 修正 Select 多级菜单展开位置没有完全对齐的问题。

2.8.1 (2022-07-25)

🐞 问题修复

  • [^] 修复了 dls-illustration-vue 的依赖没有引入的问题。

2.8.0 "💧 Droplet" (2022-07-25)

⚠️ 非兼容性变更

  • [^] Column 组件 tooltiptrue 时现在将自动展示对应单元格的 textContent
  • [^] v-tooltip 指令在未指定 content 时现在将自动展示对应元素的 textContent

💡 主要变更

  • [+] 新增 Empty 组件,提供空状态内容的标准样式。

🐞 问题修复

  • [^] 修复了 Badge / Select / Switch / Table / Toast 等组件在动态设置插槽时的渲染更新问题。
  • [^] 优化了 Input 组件的自动填充识别逻辑,样式同步更加实时,且自动提示待选内容不再会与组件的占位提示重叠。
  • [^] 优化了 Input 组件在 Safari 浏览器下自动提示的样式。

2.7.3 (2022-06-30)

💡 主要变更

  • [+] Cascader 组件新增 load 属性来支持数据项懒加载的场景。

🐞 问题修复

  • [^] 修正了 Nav 组件悬浮切换时没有动画的问题。

2.7.2 (2022-06-15)

💡 主要变更

  • [+] Field 组件新增 required 属性支持必选的样式,替代使用 Fieldset 的场景。
  • [^] 表单校验策略升级,展示校验结果时会自动合并相同的消息。
  • [+] Field 组件的 rules 属性支持内联 validate 校验器。
  • [+] Uploader 组件支持定制失败项目是否展示预览。

🐞 问题修复

  • [^] 修正了 Field 组件在内部有多个输入型组件时,校验信息可能会被错误地清空的问题。
  • [^] 修正了 Uploader 组件的图标和样式问题。
  • [^] 修正了 TimePicker 组件选中项目的样式问题。
  • [^] 修正了 Fieldset 组件内的 Field 不展示字段名称的问题。

2.7.1 (2022-06-06)

💡 主要变更

  • [^] 优化了 Slider 组件的交互,现在通过鼠标拖动完毕后浮层会自动隐藏。
  • [^] Slider 组件现在也可以通过键盘 调整取值了。
  • [+] Tabs 组件新增 tooltip 属性,允许被截断的标签页标题自动显示完整内容浮层提示。

🐞 问题修复

  • [^] 修正了 Field 组件在 label-positiontop 时侧边帮助信息位置不正确的问题。
  • [^] 修正了 Transfer 组件在已选项扁平显示时的样式问题。
  • [^] 修正了 Form 组件的 validate 方法在校验通过时没有返回 true 的问题。

2.7.0 "🪁 Kite" (2022-05-26)

💡 主要变更

  • [^] Uploader 组件进行了整体优化。

    • 新增 pick 属性用于来自定义选择文件的行为;
    • 新增 validity-display 属性来支持不同的校验信息展示方式;
    • desc 插槽重命名为 help,并新增了 help 属性来设置帮助文本;
    • 新增 help-position 属性来支持不同的帮助文本展示位置;
    • picker-position 属性值新增 nonetop 来支持上传入口隐藏或置于上方;
    • 废弃 button-label 插槽,新增了 picker-labelpicker-icon 属性来设置上传入口的文本和图标。
  • [+] Drawer 组件新增多级自动缩进功能。

  • [+] Form 组件新增 label-position 属性,支持设置表单项标题显示在上方或侧面。

  • [+] Field 组件的 help-position 属性新增可选值 top,支持设置表单项帮助文本显示在上方。

  • [+] veui-theme-dls 新增 typography.less,提供“Baidu Number”字体支持。

🐞 问题修复

  • [^] 修正 Dropdown 组件不能正确渲染 positionpopup 的内联 OptionGroup 子组件。
  • [+] 修正 Uploader 组件在禁用状态下依然可以点击触发文件选择窗口的问题。

2.6.5 (2022-05-17)

💡 主要变更

  • [+] Form 组件新增了 clearValiditiessetValidities 方法,方便用户清除校验信息和设置校验信息。常用的场景是:将提交后后端返回的校验信息更新到表单中去。
  • [+] 乐观清除校验信息:当用户更新输入型组件(如 Input/Select 等)的值时,该字段的校验信息也会同时被清除。

🐞 问题修复

  • [^] 修正 Tree 组件可勾选时,复选框与内容间距过小的问题。

2.6.4 (2022-04-25)

🐞 问题修复

  • [^] 修复了没有 FooterSidebar 组件高度没有正常撑满容器的问题。

2.6.3 (2022-04-21)

⚠️ 非兼容性变更

  • [^] 重命名组件 MenuSidenav 并且升级了样式:

    • 不再支持 s / l 尺寸变体,现在只支持默认的 m 尺寸。
    • 移除了属性 collapsible,侧导航不再内置切换展开/收起的按钮。
    • collapsed 属性在不受控时默认会和上层 Sidebarcollapsed 属性联动。
  • [^] 组件 Sidebar 的属性 collapsible 默认值调整为 false

💡 主要变更

  • [^] 组件 Popover 支持透传 overlay-options 来配置浮层选项。

🐞 问题修复

  • [^] 修复了 Cascader 组件的禁用项目可以选中的问题。
  • [^] 修复了 Cascader 组件在悬浮展开子级面板时报错的问题。

2.6.2 (2022-04-08)

🐞 问题修复

  • [^] 修正 babel-plugin-veui 转换包含组件名后缀的具名导出时误识别为组件的问题。
  • [^] 修正 statussuccessMessage 组件图标使用不正确的问题。
  • [^] 修正复选的 Cascader 已选状态触发区样式布局错误的问题。
  • [^] 修正 Field 组件的 tip 属性通过 Tooltip 而非 Popover 展示的问题。
  • [^] 调整了 Overlay 组件开启 autofocus 时获取焦点的时机,以避免获取焦点时尚未展示完毕从而导致的页面滚动。
  • [^] 修正了全局类型声明没有包含 Message 组件的问题(将影响使用诸如 unplugin-vue-components 插件的场景)。

2.6.1 (2022-03-30)

🐞 问题修复

  • [^] 修复 veui-theme-dls 打包版本没有正确引入 Message 组件的问题。
  • [^] 修复 Field 组件销毁时没有正确清除对应校验信息的问题。
  • [^] 修复树相关组件项目 key 与唯一 value 不对应的问题。

2.6.0 "🌻 Sunflower" (2022-03-30)

⚠️ 非兼容性变更

  • [^] 限定了 Tabs 组件单个标签页标题的宽度,对于超出最大宽度的内容会被省略。
  • [^] 移除了 Nav 组件的 s / l 两个尺寸变体,现在 Nav 组件只支持 m 尺寸。

💡 主要变更

  • [+] 新增 Message 组件,提供统一的内联消息提示。
  • [^] 优化 Tabs 组件样式。
  • [^] 优化 Nav 组件样式,新增悬浮和点击动效。
  • [+] 表单相关功能进行了大幅优化,升级了校验信息样式。Field 组件新增了 help / help-position 属性与 help 插槽来支持配置辅助说明。新增了 abstract / withhold-validity 属性来支持微调校验流程,新增了 validity-display 属性来控制校验信息展示样式,校验结果支持配置 status 以展示更丰富的校验状态。
  • [^] Field 内如果有多个输入类组件,可以通过将输入组件的 name 属性设置为与 Field 相同来标记“主要”输入组件,自动绑定校验逻辑与相关反馈。

🐞 问题修复

  • [^] 为布局相关组件补充了缺失的接口类型声明。
  • [^] 修正了 RadioCheckbox 组件在没有标签文本时的对齐样式。

2.5.5 (2022-03-23)

⚠️ 非兼容性变更

  • [^] Lightbox 组件在关闭时的 cancel 事件修改成 close 事件。

💡 主要变更

  • [+] 优化了 Radio / Checkbox 组件在垂直方向的对齐方式。
  • [+] Select 组件新增 show-select-all 属性,支持全选的功能。

🐞 问题修复

  • [^] 修正了 DatePicker / Button 禁用样式的问题。
  • [^] 修正了 Uploader 媒体上传项目在禁用状态下的样式问题。
  • [^] 修正了 Menu 覆盖 item 插槽会导致报错的问题。
  • [^] 修正了 Cascader 选中文本超长溢出的样式问题。
  • [^] 修正了 Tag 组件禁用状态下的焦点样式。

2.5.4 (2022-03-01)

💡 主要变更

  • [+] Tabs 组件现在在标签页标题横向溢出滚动时,支持使用滚轮进行左右滚动。
  • [+] Lightbox 组件新增 outside-closable 属性,用于指定是否可以在内容外部点击关闭。

🐞 问题修复

  • [^] 修正了 DatePickerselect 事件重复触发的问题。
  • [^] 优化了 Overlay 组件的关闭逻辑,消除了部分组件关闭过程中会发生肉眼可见的闪烁的问题。
  • [^] 修正了 RadioGroup / CheckboxGroup / RadioButtonGroup / CheckboxButtonGroup 组件可能遮挡左侧组件点击区域的问题。
  • [^] 为 v-drag.sort 指令新增了对 Chrome 关于拖动图片生成坐标相关 bug 的兼容性处理。

2.5.3 (2022-02-07)

💡 主要变更

  • [+] 为 Dialog / Drawer / AlertBox / ConfirmBox / PromptBox 等组件新增 afteropen 事件。

🐞 问题修复

  • [^] 修正了 Button 组件键盘交互某些情况下没有正确触发的问题。

2.5.2 (2022-01-25)

💡 主要变更

  • [^] 新增全局注册类型声明,以便使用了类似 unplugin-vue-components 功能时自动引入并注册组件的场景下依然可以获取正确的组件类型信息。
  • [+] Form 组件的 defaultactions 插槽新增 validating 属性,用于指示当前表单是否正处于异步校验过程中。
  • [+] Form 组件的 default 插槽新增 submit 属性,用于触发表单提交。

🐞 问题修复

  • [^] 修正了用户在封装多个 Column 组件并传入 Table 时可能导致乱序的问题。

2.5.1 (2022-01-20)

🐞 问题修复

  • [^] 修正了类型声明与 @vue/composition-api 导出的 defineComponent 的类型声明不匹配的问题。

2.5.0 "🤸 Person Cartwheeling" (2022-01-19)

💡 主要变更

  • [+] 为 VEUI 的所有组件增加了类型描述文件,可以配合 Volar 在模板中得到属性/事件/插槽类型的自动提示。

🐞 问题修复

  • [^] 修正了 Accordion 组件的 toggle-position 属性没有正确生效的问题。

2.4.4 (2022-01-15)

🐞 问题修复

  • [^] 修正了 Tabs / Tab / Table / Column / Accordion / Collapse 组件通过内联子组件方式使用时,动态切换子组件时可能顺序错乱的问题。
  • [^] 修正了 DatePicker 组件在快捷选项区域点击空白处会触发下拉面板关闭的问题。
  • [^] 调整了 Button 组件的样式实现方式,以修复 v2.4.2 重构时引入的部分样式问题。

2.4.3 (2022-01-11)

🐞 问题修复

  • [^] 修正 Dropdown 组件按钮内间距过大的问题。

2.4.2 (2022-01-07)

🐞 问题修复

  • [^] 重构了 Button 组件以解决在动态切换 disabled / loading 属性时过渡动效丢失的问题。
  • [^] 修复了 veui-loaderglobal 选项没有正确处理 string 类型配置的问题。

2.4.1 (2022-01-05)

🐞 问题修复

  • [^] 修复了 sideEffects 配置错误导致依赖组件类型判断的逻辑失效的问题。

2.4.0 "🪆 Nesting Dolls" (2022-01-02)

💡 主要变更

  • [+] 新增全局布局组件 Layout / Header / Sidebar / Footer / Content

🐞 问题修复

  • [^] 修复了 Badge 组件的 max prop 没有正常响应全局设置的问题。

2.3.4

🐞 问题修复

  • [^] 修正了单选 Select / Cascader 组件在有已选项时,展开下拉浮层可能导致页面滚动位置跳动的问题。

2.3.3

🐞 问题修复

  • [^] 修正了动态添加/移除 Column 组件时可能导致顺序不正确的问题。
  • [^] 修正了 Select 组件在非受控模式下下拉菜单中当前激活项显示不正确的问题。

🧪 实验性功能

  • [+] 为 Calendar 组件新增了实验性的 ui 样式 display

2.3.2

⚠️ 非兼容性变更

  • [^] 将对 dls-icons-vue 的依赖更新为 2.0.0。其中:

    • quality-circle 图标重命名为 grade-circle
    • full-square 图标重命名为 full-circle

🐞 问题修复

  • [^] 修正了 Cascader 组件在复选模式下搜索框位置不正确的问题。
  • [^] 修正了 Table 组件通栏展开行、footer 行高度不正确的问题。

2.3.1

💡 主要变更

  • [^] 优化了下拉浮层展开时列表滚动到激活项的功能,避免可见的闪动。
  • [^] 在滚动锁定开启时尝试使用原生的 scrollbar-gutter 来避免页面内容整体抖动。
  • [^] 优化了 v-drag.sort 指令在 Safari 下在 transform 容器内拖动时拖动元素初始样式的覆盖场景。

🐞 问题修复

  • [^] 修正了 v-tooltip 指令提示内容没有实时响应式更新的问题。
  • [^] 升级了 Loading 组件的加载动效,避免了在 Chrome 下可能由于动画不同步造成的闪动。

2.3.0 "🏍️ Motorcycle"

⚠️ 非兼容性变更

  • [^] Pagination 组件默认不展示每页数量选择器。

💡 主要变更

  • [^] Autocomplete 组件的 strict prop 行为对齐到 Input 组件的 strict prop,不再表示限制只能选择 datasource 中的值。
  • [^] 废弃 Autocomplete 组件的 suggest 事件,当用户采纳建议时额外触发新增的 select 事件。
  • [^] Autocomplete 组件新增 maxlength prop 来限制值的长度。
  • [^] Pagination 组件新增 show-total / show-page-size / show-goto prop 来分别指定是否显示项目总数/每页条数/跳转到指定页。将 goto prop 废弃并重命名为 show-goto
  • [+] v-tooltip 指令新增修饰符 overflow,用来指定仅当目标元素内容发生溢出时才显示悬浮提示。
  • [+] Column 组件新增 tooltip prop,用于指定某列内容溢出时展示的悬浮提示文本。

🐞 问题修复

  • [^] 修正大部分输入型组件的一些事件无法作为表单校验的触发器。涉及组件包括: Autocomplete / Checkbox / Input / Radio / Switch / Textarea
  • [^] 修正 Uploader 组件继续上传按钮的样式问题。
  • [^] 修正 Carousel 组件切换时报错的问题。
  • [^] 优化搜索类组件对 Unicode 代理对与 Zero Width Joiner (U+200D) 的支持。
  • [^] 修正 Table 组件的自定义 CSS 属性 --dls-table-cell-lines / --dls-table-head-cell-lines 默认值没有设置为 1 的问题。

2.2.1

⚠️ 非兼容性变更

  • [^] Anchor 组件的 target-offset / sticky-offset 使用数值时不再作为比例系数,而是作为绝对 px 值。

💡 主要变更

  • [+] Anchor 组件的 target-offset / sticky-offset 支持传入如 '10%' 格式的字符串,用于支持比例系数。

🐞 问题修复

  • [^] 修正 Button 组件在 Safari 浏览器上的样式问题。
  • [^] 修正 DatePicker 组件在 Safari 浏览器上点击快捷方式报错的问题。

🧪 实验性功能

  • [^] Table 组件的自定义 CSS 属性 --dls-table-cell-lines / --dls-table-head-cell-lines 默认值更新为 1,可以通过设置为 auto 来设置自适应高度。

2.2.0 "🪗 Accordion"

💡 主要变更

  • [+] 为 Accordion / Collapse 组件新增 ui 样式 simple / basic / strong / bordered / borderless / dull
  • [+] 为 Accordion / Collapse 组件新增 toggle-position prop,用于自定义展开/收起箭头的位置。
  • [+] 为 Collapse 组件新增 title-after 插槽,用于自定标题后缀内容。
  • [+] 为 Popover 组件新增 title prop 与 title 插槽,用于自定义标题内容。
  • [+] 为 Popover 组件新增 foot / ok-label / cancel-label prop 与 foot 插槽,用于开启底部操作区并自定义操作按钮文本。

🐞 问题修复

  • [^] 修正 Tabs 组件销毁过程中触发数据变化的问题。
  • [^] 修正 Anchor 组件在滚动容器的 CSS scroll-behaviorsmooth 时下点击项目导致的滚动会进一步影响激活项的问题。
  • [^] 修正 Anchor 组件的容器样式可能导致进入/退出吸附状态时抖动的问题。
  • [-] 去除了 Anchor 组件初始状态的自动滚动,以避免和浏览器的默认行为冲突。
  • [^] 修正 Table 组件在切换 selectable / expandable 时没有更新布局的问题。

🧪 实验性功能

  • [+] 为 Table 组件新增自定义 CSS 属性 --dls-table-cell-lines / --dls-table-head-cell-lines,用于指定显示固定内容/表头行数的表格。
  • [+] 为 Accordion 组件新增自定义 CSS 属性 --dls-accordion-gutter,用于自定义折叠面板间距。

2.1.7

💡 主要变更

  • [+] 为 Link 组件新增全局配置项 link.routerLink,用于在路由模式下允许使用除了 <router-link> 以外的组件,比如在 Nuxt 项目下使用 <nuxt-link>

🐞 问题修复

  • [^] 修正 Progress 组件的状态一致性问题。
  • [^] 修正 Uploader 组件的 convert-response 无法通过 ConfigProvider 组件进行局部配置的问题。
  • [^] 修正 Textarea / Calendar / Input 组件在 Safari 下的样式问题。
  • [^] 修正 DatePicker 组件的下拉浮层在溢出视口时没有正确左右翻转的问题。
  • [^] 修正 v-tooltip 指令在目标元素销毁时可能没有消失的问题。

2.1.6

💡 主要变更

  • [+] 为 Tooltip / Popover 组件新增 aim-center prop,用来支持浮层箭头始终指向目标元素中心的模式。
  • [+] 为 RadioButtonGroup / CheckButtonGroup 组件新增 ui 选项 stable,来实现多行显示多个按钮组时更整齐的视觉效果。

🐞 问题修复

  • [^] 修正 Tabs 组件在路由模式下 active 数据可能没有正确响应路由变化的问题。
  • [^] 修正 Tabs 组件在移除最后一个标签页时 active 计算不正确的问题。
  • [^] 修正 DatePicker 组件的 placeholder 类型描述漏掉 Array 的问题。
  • [^] 修正 Table 组件固定列 z-index 过低可能导致被滚动内容穿透的问题。

🧪 实验性功能

  • [+] 为 RadioButtonGroup / CheckButtonGroup 组件分别新增自定义 CSS 属性 --dls-radio-button-min-width / --dls-checkbox-button-min-width,用于自定义组内按钮项的最小宽度。

2.1.5

🐞 问题修复

  • [^] 修正 Tabs 组件在路由模式下可能会没有正常激活标签项的问题。
  • [^] 将 CheckButtonGroup / RadioButtonGroup 组件的样式 token 升级到最新版本,以解决无法与最新版本 less-plugin-dls 共同工作的问题。
  • [^] 修正 RadioGroup 组件未实现可受控功能的问题。

🧪 实验性功能

  • [+] 为 Field 组件新增自定义 CSS 属性 --dls-field-label-width,用于自定义表单项文字标签列的宽度。

2.1.4

🐞 问题修复

  • [^] 修正了 veui/dist/locale.*.esm.js 没有被标记入 sideEffects 配置的问题。

2.1.3

💡 主要变更

  • [+] 为 RadioGroup / CheckboxGroup / RadioButtonGroup / CheckboxButtonGroup 新增 Popover 弹层提示支持。新增数据源 desc 字段及对应的 desc 作用域插槽。
  • [+] 支持搜索的组件 Autocomplete / Cascader / SearchBox / Select / Dropdownmatch prop 返回值现在在仅有一段匹配时可以直接返回 [number, number]

🐞 问题修复

  • [^] 修正了 locale 包的 ESM 打包版本没有引用 VEUI 的 ESM 版本的问题。
  • [^] 修正了 DatePicker 组件清除功能有时不正常的问题。
  • [^] 修正了 Select / Dropdown 组件可能出现两个滚动条的样式问题。
  • [^] 修正了 Table 在无边框样式下组件固定列阴影处有 1px 偏差的问题。

2.1.2

💡 主要变更

  • [^] veui-theme-dls-icons 新增产出文件:

    • dist/icons.esm.js ESM 版本。

2.1.1

⚠️ 非兼容性变更

  • [-] 组件 Autocompletematch prop 参数签名从 (item, keyword, ancestors) 变更为 (item, keyword, { ancestors })
  • [^] 将 Carousel 组件的 indicator-alignment prop 重命名为 indicator-align

💡 主要变更

  • [+] 为 RadioButtonGroup / CheckButtonGroup 新增 ui 样式 simple,并支持跨行样式。

  • [^] Button 组件现在可以在禁用状态下响应除了 click 以外的事件,并可以接收焦点。

  • [+] 为支持搜索的组件 Autocomplete / Cascader / SearchBox / Select / Dropdown 新增 match / filter prop。

    • match 函数签名:(item, keyword, { ancestors }) => boolean | Array<[number, number]> 以支持自定义高亮逻辑;
    • filter 函数签名:(item, keyword, { ancestors, offsets }) => boolean 以支持自定义搜索命中逻辑。

2.1.0 "🌰 Chestnut"

💡 主要变更

  • [+] 新增了 ConfigProvider 组件,用于对局部组件进行全局配置的自定义。

  • [^] 对 Carousel 组件进行了功能、样式升级:

    • indicator prop 新增 bar / dot 值,用于指定播放指示器的样式类型。其中 bar 用于替换之前的 radioradio 也保持兼容支持)。
    • 新增了 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 属性:

    • --dls-carousel-slide-gutter:轮播项的间距;
    • --dls-carousel-transition-duration:轮播一次切换的持续时间。

🐞 问题修复

  • [^] 修正了 Switch 组件加载状态没有使用 Loading 组件的问题。

2.0.6

🐞 问题修复

  • [^] 优化了 DialogDrawerLightbox 等触发模态层组件释放滚动锁定的逻辑,已避免模态层关闭时进行路由跳转可能导致解锁逻辑没有执行的问题。

2.0.5

🐞 问题修复

  • [^] 修复 Input 组件开启 trim 后无法输入带空格的文本的问题。

2.0.4

🐞 问题修复

  • [^] 修复 Uploader 组件遗漏的服务端渲染时的异常。

2.0.3

💡 主要变更

  • [+] Input 组件新增 trim prop,用来给输入值清除前后的空格。

🐞 问题修复

  • [^] 修复 Checkbox 组件初始化时触发全局点击事件的问题。
  • [^] 修复 Textarea 组件在 autoresize 时,当最初渲染在隐藏容器内展现后高度不正确的问题。

2.0.2

💡 主要变更

  • [+] 在 UMD 版本输出中新增整体注册功能,将自动注册所有组件并启用 VEUI 的所有插件。

    使用方法

    <div id="app">
      <v-button ui="primary">OK</v-button>
    </div>
    Vue.use(veui, { prefix: 'v' }) // prefix 可选,默认为 `veui`
    
    new Vue({
      el: '#app'
    })

🐞 问题修复

  • [^] 修正了 Uploader 组件在 SSR 环境下异常的问题。
  • [^] 修正了 Uploader 组件渲染的文件列表可能超过 max-count 定义的上限的问题。
  • [^] 修正了 options 参数在 toast 插件调用时没有正常生效的问题。
  • [^] 修正了 veui-theme-dls 单独打包输出的样式顺序问题。
  • [^] 修正了 Tag 组件在深色背景下显示效果不符合预期的问题。

2.0.1

🐞 问题修复

  • [^] 修正了 Menu 组件 item-label slot 范围过大的问题。

2.0.0 "📅 Calendar"

⚠️ 非兼容性变更

  • [-] 移除了 Table 组件的 keys prop,请使用 key-field prop 代替。
  • [-] 移除了 Tag 组件的 closable prop 和 close 事件,请分别使用 removable prop 和 remove 事件代替。
  • [-] 移除了 Uploader 组件的 extensions prop,请使用 accept prop 代替。
  • [-] 移除了 Uploader 组件的 uploadFiles 方法,并将 triggerUpload 方法更名为 startUpload
  • [-] 移除了 v-drag 指令的 draggable 选项,请使用 disabled 选项代替。
  • [-] 移除了 v-drag.sort 指令的 callback 选项,请使用 sort 选项代替。
  • [-] 移除了校验规则的 message 自定义模板的 %{arg} 语法,请使用 {arg} 语法代替。

🐞 问题修复

  • [^] 修复了 Uploader 组件列表切换动效不正确的问题。

2.0.0-rc.5

🐞 问题修复

  • [^] 修正了 Nav 组件从当前项目移动到下拉浮层会导致当前项目关闭的问题。
  • [^] 修正了 Table 组件的过滤器下拉浮层出现两个滚动条的问题。
  • [^] 修正了 veui 公共模块导出可能出现组件未定义的情况。
  • [^] 修正了部分组件的语言配置未打包到 UMD 版本输出的问题。
  • [^] 修正了 rc.4 版本错误引入 Dropdown 组件的 strong 样式。

2.0.0-rc.4

💡 主要变更

  • [^] 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 产出中新增文件:

    • dist/dls.js UMD 版本,Baidu DLS 主题包。
    • dist/dls.esm.js ESM 版本,Baidu DLS 主题包。
  • [^] veui 的公共模块导出调整为:

    ESM

    import {
      Button, // components
      config,
      i18n,
      validation, // managers
      useControllable,
      useSearchable, // mixins
      $alert,
      $confirm,
      $prompt,
      $toast, // plugins
      drag,
      outside,
      resize,
      nudge,
      longpress,
      tooltip // directives
    } from 'veui'

    全局对象

    <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"
  • [^] 修正了 Dialog 组件的 draggable prop 失效的问题。
  • [^] 修正了 Drawer 组件的 overlay-class prop 没有正确输出的问题。
  • [^] 修正了 v-drag 指令在非使用 target 选项非受控拖动时失效的问题。
  • [^] 修正了 v-drag.sort 在 Safari 下容器有 transform 时产生偏移的问题。
  • [^] 修正了 Uploader 组件按住图片拖拽排序时失效的问题。

2.0.0-rc.3

⚠️ 非兼容性变更

  • [^] v-drag.sort 指令的 callback 选项重命名为 sort。参数从 (toIndex: number, fromIndex: number) 修改为 (fromIndex: number, toIndex: number)。同时排序回调不再需要关心移动动画的完成状态。
  • [^] v-drag 指令的 draggable 选项被 disabled 选项取代,默认值为 false
  • [-] 移除全局配置项 drag.prefix

💡 主要变更

  • [+] 为 v-drag 指令新增选项 handle,可用于指定拖动的“把手”元素。

🐞 问题修复

  • [^] 修正 Lightbox 组件可能产生重复 key 的问题。

2.0.0-rc.2

🐞 问题修复

  • [^] 修正 NumberInput 组件无法正常清空的问题。

2.0.0-rc.1

💡 主要变更

  • [+] 为 Popover / Tooltip / AlertBox / ConfirmBox / PromptBox / Dialog / Select / Dropdown / Lightbox / DatePicker / TimePicker / SearchBox / Cascader / CascaderPane 等组件新增 overlay-style prop,用于自定义浮层样式。
  • [+] Link 组件现在支持绑定通用的鼠标、键盘事件,无需使用 .native 修饰符。

🐞 问题修复

  • [^] 修复 Nav 组件项目在光标悬浮状态下的样式问题。
  • [^] 修复 Select 组件的 slot prop 中缺失 close 方法的问题。
  • [^] 修复 NumberInput 组件在非法值的基础上使用步进操作产生 NaN 的问题。
  • [^] 修复 Radio 组件在有相同 name 的组件时,因为其它同组组件被选中导致的 DOM 状态与组件状态不同步的问题。

🧪 实验性功能

  • [+] 为 Select / Dropdown / SearchBox / Cascader 新增 --dls-dropdown-max-display-items 配置支持,见 2.0.0-rc.0 版本实验性功能说明。

2.0.0-rc.0

⚠️ 非兼容性变更

  • [^] v-drag.sort 指令的 callback 函数参数 (toIndex, fromIndex) 中的 toIndex 参数含义变更,从原来的“移动到 toIndex 前”变更成“移动到 toIndex 处”。

💡 主要变更

  • [+] 为 Overlay / Autocomplete 等组件新增 overlay-style prop,用于自定义浮层样式。
  • [+] 新增 v-tooltip 指令,用于指定全局共享的浮层提示。
  • [^] 优化了 v-drag.sort 的移动触发交互,使拖动排序更顺畅。

🐞 问题修复

  • [^] 修复 modal 类型浮层的 focus trap 功能。

🧪 实验性功能

  • [+] 新增支持通过给浮层设置 CSS 自定义属性 --dls-dropdown-max-display-items 来设置 Autocomplete 组件下拉浮层最大显示项目数,超出此高度将触发滚动。(给浮层设置样式可通过 overlay-class / overlay-style prop 的方式。)

    使用示例

    <!-- 配置最多显示 6 个选项(为提高在溢出且隐藏滚动条环境中的可访问性, -->
    <!-- 实际最大高度为 6.5 个选项的高度以提示更多选项的存在) -->
    <veui-dropdown
      :overlay-style="{ '--dls-dropdown-max-display-items': 6 }"
      ...
    />

2.0.0-beta.33

💡 主要变更

  • [+] 新增了部分组件的文案配置 prop(#750),具体包括:

    • Dialog / Drawer / ConfirmBox / PromptBox 组件新增 ok-label / cancel-label prop;
    • AlertBox 组件新增 ok-label prop;
    • Tabs 组件新增 add-label prop;
    • Transfer 组件新增 candidate-title / selected-title prop。
  • [+] AlertBox / ConfirmBox / PromptBox 均补齐 disabled / loading prop,与 Dialog 组件对齐。

2.0.0-beta.32

💡 主要变更

  • [^] Overlay 组件内容现在仅会在 open 状态下渲染,以提高渲染性能。
  • [^] 优化了 Table 组件内容溢出时的阴影样式。

🐞 问题修复

  • [^] 修正 CarouselLightbox 组件的项目插槽,从 default 修正为 item。修正 Lightbox 组件的 desc 插槽。
  • [^] 修正不同尺寸 Cascader 组件的样式问题。
  • [^] 修正 SearchBoxTable 筛选等下拉场景没有高度限制的问题。
  • [^] 修正 file 类型 Uploader 组件会发起预览网络请求的问题。

2.0.0-beta.31

💡 主要变更

  • [+] 新增 CascaderCascaderPane 组件。
  • [+] Dialog 组件新增 disabled 属性,用于控制确定按钮的启用/禁用。

🐞 问题修复

  • [^] 修正 Select 组件在 s / xs 尺寸下多选标签的样式。
  • [^] 修正 Lightbox 组件在 Safari 下无法正常显示内容的问题。
  • [^] 修正 Uploader 组件在 request-modecustom 时没有对返回值调用 convertResponse 的问题。(#800)
  • [^] 修正 SearchBox 在显示搜索提示时按下 enter 没有触发 search 事件的问题。(#806)
  • [^] 修正 Carousel 组件尺寸不能通过最外层元素进行调整的问题。(#811)

2.0.0-beta.30

💡 主要变更

  • [+] Tree / Transfer 组件新增 merge-checked prop,用于对节点勾选的冗余信息进行合并。支持的值如下:

    • keep-all:默认值,选中值中包含所有勾选状态的节点。
    • upwards:尽量向上合并,当某个节点下所有节点均勾选时仅保留该节点本身。
    • downwards:尽量向下合并,仅保留叶子节点。
  • [^] Tree 组件的被禁用的子节点现在允许切换展开/收起。

  • [+] Tree 组件新增支持对于没有 value 的节点,根据 name 字段控制展开收起及节点选择(非勾选)状态,用来支持受控切换这两类状态且不出现在已勾选的输出值中(仅作为分组节点使用)。

  • [+] 在 Transfer 组件的 candidate-head / candidate-title / selected-head / selected-title 插槽中新增了 count 插槽属性,分别表示备选数量和已选数量。

🐞 问题修复

  • [^] 修复 Tree 组件禁用逻辑,现在被禁用的节点的所有子节点也将被禁用。
  • [^] 修复 Transfer 节点在禁用时会受“全选”/“清空”操作影响选择状态的问题。
  • [^] 修复 Transfer 在搜索/过滤后全选会选中所有数据而非过滤后数据的问题。
  • [^] 修正 Select 组件“未选择”状态的判断逻辑,现在 null / undefined / [] 均视为未选状态。
  • [^] 修正 babel-plugin-veui 在改写 import 时没有更新 local binding 导致 JSX 插件误判组件名为字符串的问题。

2.0.0-beta.29

💡 主要变更

  • [+] Overlay 组件在层叠顺序变化时将触发 orderchange 事件。

🐞 问题修复

  • [^] 修复 Transfer 组件可以通过批量选择切换禁用项的问题。

2.0.0-beta.28

💡 主要变更

  • [+] Uploader 组件新增 sortable prop,支持上传文件的拖拽排序。
  • [+] Transfer 组件新增 candidate slot,用于替换整个待选面板的内容。

🐞 问题修复

  • [^] $confirm 插件在同步回调时不再显示 loading 状态。
  • [^] 修复了 Select 组件无法通过键盘 focus 的问题。
  • [^] 修复了 RadioButtonGroup 通过方向键切换选项时可能报错的问题。
  • [^] 修复了 Link 组件引用了错误的 event 对象的问题。
  • [^] 修正了 Select 下拉浮层在出现内部滚动时,下层选项组展开定位不符合预期的问题。

2.0.0-beta.27

⚠️ 非兼容性变更

  • [^] SelectDropdown 组件的 trigger slot 属性中 props 被重命名为 attrs,用来表达需要输出到 DOM 元素上的属性。

💡 主要变更

  • [+] Column 组件新增 filter-optionsfilter-multiple prop,用于开启内置的下拉筛选并设置单选/多选。
  • [^] Column 组件的 filter-value prop 可以支持 true 以外的其它属性,在使用内置下拉筛选时对应下拉选项的 value 值。当值为 null 时,用来指定筛选未激活的状态。
  • [+] Column 组件新增 filter-title prop,用于指定下拉筛选的标题说明。
  • [+] Dropdown 组件的 trigger slot 新增作用域参数 expanded / toggle,用于获取/切换下拉菜单的展开状态。

🐞 问题修复

  • [^] 修复了 less-plugin-dls 版本依赖错误的问题。

2.0.0-beta.26

⚠️ 非兼容性变更

  • [-] 已移除 Uploader 组件的 compat prop,不再兼容 string 类型的 value

💡 主要变更

  • [^] Uploader 组件大幅重构,并拆分组件实现。
  • [+] Uploader 组件新增 key-field prop,用于指定 value 数组项的唯一键的键名。默认为 'key'
  • [+] Uploader 组件的 value 数组项新增唯一键字段,用于数据回填时的定位到准确的位置。
  • [+] Uploader 组件新增 multiple prop,用于指定 value 的数据类型是否为数组。如果 multipletrue,即使 maxCount1value 仍为数组类型。而当指定了大于 1max-count 值,即使 multiplefalse 也不会生效,value 始终为数组。
  • [+] Uploader 组件新增 after-pick 函数 prop,用于新增在选择完文件后执行定的 hook 逻辑。

🐞 问题修复

  • [^] 修正了 Table 组件没有正确处理非可排序列的标题交互状态导致可能报错的问题。

2.0.0-beta.25

💡 主要变更

  • [+] v-drag 指令增加 sort 类型,用于容器内元素列表的拖动排序。
  • [+] Progress 组件在进度条模式下支持新增的属性 indeterminate,用于展示不确定进度的情况。

🐞 问题修复

  • [^] 修复 Uploader 组件的 max-size 校验在 iframe 上传模式下失效的问题。
  • [^] 为 file 类型的 Uploader 在 iframe 上传模式下提供正常的进度条展示(不确定进度)。

2.0.0-beta.24

💡 主要变更

  • [+] Column 组件新增 filter-value prop,用来指定表格列的筛选值。当前仅支持在发生过筛选后设置为 true
  • [+] Column 组件新增 filter slot,用来指定自定义筛选下拉浮层内容。

🐞 问题修复

  • [^] 修正 RadioGroup / CheckboxGroup 组件样式可能错误触发容器发生溢出滚动的问题。
  • [^] Link 组件的 to prop 现在可以正常使用绝对路径了。
  • [^] 修正 Radio / Checkbox / Switch 组件在点击时会触发两次 click 事件的问题。

2.0.0-beta.23

⚠️ 非兼容性变更

  • [-] 已移除实验性全局配置项 modal.scrollLockMode,原因是保留滚动位置时无法保证屏幕不发生瞬间闪烁。

🐞 问题修复

  • [^] 修正 Overlay 组件在有开启 inline / local prop 的父级 Overlay 时报错的问题。
  • [^] 修正 Uploader 组件在单文件模式下外部修改文件列表不正常的问题。

2.0.0-beta.22

🐞 问题修复

  • [^] 修正 Uploader 组件插槽参数中字段缺失 status 的问题。
  • [^] 修正遗漏 shopping-cartfilm 图标的问题。

2.0.0-beta.21

💡 主要变更

  • [^] Dialog 触发滚动锁定时,新增实验性全局配置项 modal.scrollLockMode,可选值为 safe / advanced

    详细说明

    滚动锁定用来处理在出现全屏遮罩时,滚动行为透传到上层滚动容器的问题。目前的主流方案都使用 overflow: hidden 将上层滚动容器锁定,但当滚动条可见时,切换时会导致容器内部的尺寸发生变化进而发生抖动,故通常方案将在容器上添加一个额外的与滚动条宽度相同的 padding-right 来保持内部布局的稳定,也就是 safe 模式下采取的行为。但当视口发生滚动时,隐藏其滚动条将使得视口尺寸发生变化,固定定位元素的相对参考位置也会发生变化,会对这部分元素产生滚动条宽度的抖动。如果想避免这一现象,可以全局配置 modal.scrollLockModeadvanced,将采取另一种锁定策略,将 <body> 元素固定定位到撑满视口并 overflow: hidden,从而使视口不会发生内容溢出,同时强制 <html> 使用 overflow: scroll,保证视口滚动条依然展示,以达到视口内内容的稳定。但这种模式下同样可能对本身相对 <body> 元素底部绝对定位的元素产生副作用。使用时可以测试两种不同的模式后自行选择。

🐞 问题修复

  • [^] 修正 Uploader 组件插槽参数中字段缺失的问题。
  • [^] 修正 Select 组件在校验错误状态下的样式问题(#758)。

2.0.0-beta.20

💡 主要变更

  • [^] Table 组件现在在整个表头区域内点击都会触发排序(如果开启了排序功能),内部可获取焦点的元素(被认为可以触发其它交互)除外。

🐞 问题修复

  • [^] 修正 Uploader 组件后缀名校验不正确的问题。
  • [^] 修正 Tooltip 组件内容可能溢出容器的问题。
  • [^] 修正 Link 组件在新标签/窗口打开链接(通过 Ctrl/Shift/ + 鼠标点击或链接包含 target="_blank" 时)时,原标签/窗口内容发生跳转的问题。

2.0.0-beta.19

🐞 问题修复

  • [^] 更新 dls-icons-vue 依赖,修正图标 treeshake 逻辑没有正常生效的问题。

2.0.0-beta.18

🐞 问题修复

  • [^] 修正 veui-theme-dls-icons 图标没有更新的问题。

2.0.0-beta.17

💡 主要变更

  • [+] Column 组件新增 desc prop,可用来在表头通过 Popover 输出额外说明。同时新增对应的 desc 插槽,来自定义 Popover 组件的内容。
  • [+] Tabs 组件新增 eager prop,将提前渲染未激活的标签面板内容。

🐞 问题修复

  • [^] 修正 Uploader 组件在图片/视频上传时底栏操作时间遗漏回调参数的问题。
  • [^] 修正 Tabs 组件有时无法滚动到最后的问题。

2.0.0-beta.16

🐞 问题修复

  • [^] 修正 Tabs 组件在移除标签项时激活状态切换不正确的问题。

2.0.0-beta.15

💡 主要变更

  • [+] Lightbox 组件新增 options prop,允许指定视频项播放时的 muted / autoplay / controls 等配置。
  • [+] Uploader 组件新增 preview-options prop,允许指定预览时调用的 Lightbox 的配置。

🐞 问题修复

  • [^] 修正 Uploader 组件在图片、视频上传状态下的预览图标。
  • [^] 修正 Uploader 组件有时没有正确处理图片预览的问题。
  • [^] 修正 Uploader 组件在某一上传项第二次上传/校验失败后无法展示失败理由的问题。
  • [^] 修正 Lightbox 未处理初始化时焦点导致打开后初始状态下键盘切换项目失效的问题。
  • [^] 修正 Pagination 组件在没有传入 to prop 时,点击跳转到 x 页后没有触发 redirect 事件的问题。

2.0.0-beta.14

🐞 问题修复

  • [^] 修正 veui 没有正确标注 dls-graphics 依赖类型的问题。

2.0.0-beta.13

🐞 问题修复

  • [^] 修正 veui-loader 没有正确标注 magic-string 依赖类型的问题。

2.0.0-beta.12

⚠️ 非兼容性变更

  • [+] Uploader 组件新增了 m / s 两种 ui 属性值,默认尺寸有所增大。

💡 主要变更

  • [+] 新增了 Lightbox 组件。

  • [+] 为 Dropdown / Select / SearchBox / DatePicker / TimePicker / Autocomplete 组件新增可受控 prop expandedtoggle 事件,用来控制其下拉浮层的展开/收起。

  • [+] Table 组件新增 loading prop,展示“加载中”状态。

  • [+] Table / Column 组件新增 allowed-orders prop,支持定制允许的顺序。

  • [+] Select 组件新增 trigger 插槽,用于自定义下拉触发区域。

  • [+] Select 组件新增 selected 插槽,用于自定义下拉按钮已选项回填内容的展示。

    label 插槽的区别

    label 插槽仅针对收起状态下的已选项回填内容,而 selected 插槽包括了展开状态下的已选项回填内容。

  • [+] Uploader 组件新增了 type prop 的可选值 video / media,用来支持视频上传的场景。

  • [+] Uploader 组件新增了 entries prop,内置了多入口操作的功能,类型和 controls 的返回值相同。

  • [^] 为 Loading 组件添加了新的动效。

🐞 问题修复

  • [^] 修正 Progress 组件偶尔会由于浏览器编码识别错误显示了错误内容的问题。
  • [^] 修正 RadioGroup 组件和 CheckboxGroup 组件在内容换行时显示不正确的问题。
  • [^] 修正 SearchBox 组件按下 enter 时触发表单提交的问题。
  • [^] 修正 Select 组件在清空时将禁用的选项一同清空的问题。

2.0.0-beta.11

💡 主要变更

  • [+] Uploader 组件的 upload 自定义函数 prop 中的第二个参数增加 oncancel: Function 字段,可在自定义上传逻辑中主动取消上传。对于“重新上传”场景,取消后将恢复为之前已经上传的文件。

🐞 问题修复

  • [^] 修复从外部改变 Uploader 组件的 value prop 导致渲染不正确的问题。
  • [^] 修复了 Dialog 组件在关闭时也可能抛出 cancel 事件的问题。
  • [^] 修复了 NumberInput 组件在右键点击调节按钮时会触发连续调整的问题。

2.0.0-beta.10

🐞 问题修复

  • [^] 修复上个版本 Overlay 组件 target 更新逻辑引入的导致 match-width 在第一次浮层展开时失效的问题。
  • [^] 修正 Form 组件没有正确通过 Fieldname prop 进行识别的问题。
  • [^] 修正 Accordion 组件无限重渲染的问题。

2.0.0-beta.9

💡 主要变更

  • [+] DatePicker 组件新增 parse prop 用于指定如何从输入值解析日期对象。
  • [+] DatePicker 组件新增 selectstart / selectprogress 事件,用于对外同步日期范围选择的过程信息。
  • [+] Calendar / DatePicker 组件的 disabeldDate prop 在日期范围选择过程中,新增第二个参数,表示当前第一个选择日期。
  • [+] Input / Textarea 组件新增 prop get-length,用于自定义计算已输入字符串长度的逻辑。

🐞 问题修复

  • [^] 修复 Schedule 组件快捷选项由于引用被修改导致的数据混乱。
  • [^] 修复了 Dialog / Table 组件在极端条件下触发 Firefox 图层合成 bug 的问题。
  • [^] Overlay 组件现在不仅在初始化时查找 target 对应元素,而是在每次显示时均查找,使得定位逻辑不再依赖对应元素的渲染顺序。
  • [^] 修正了 Select 组件中已选的 disabled 选项可以被删除的问题。
  • [^] 修正了 Select 组件中内联 Optiondisabled prop 不生效的问题。

2.0.0-beta.8

💡 主要变更

  • [+] Uploader 组件的插槽 button-label 现在对图片上传也生效(默认为添加图片图标)。
  • [^] 去除了所有输入组件、按钮默认的 vertical-align: middle 样式。

🐞 问题修复

  • [^] 修正 Transfer 组件无法正常删除父级选项的问题。
  • [^] 修正 Input 组件在 Firefox 下无法正常输入的问题。
  • [^] 修复 Dialog 内容在极端场景下触发 Firefox 图层合成 bug 的问题。
  • [^] 默认为可搜索的 Select 中的 Input 关闭了原生 autocomplete 功能,以避免原生浮层与 Select 下拉浮层重叠的问题。

2.0.0-beta.7

🐞 问题修复

  • [^] 修复 Tab 面板内容没有正确响应外部数据变化的问题。
  • [^] 修复 CheckboxGroup 选项间距不正确的问题。

2.0.0-beta.6

⚠️ 非兼容性变更

  • [^] veui-theme-dls-icons 中的 plus-square-circlestorage 图标名称分别修正为 plus-squaresave

💡 主要变更

  • [+] CheckboxGroupCheckButtonGroup 组件的 items prop 项目支持传入 exclusive: true 来指定当前项为排它选项,即选择后将取消其它选中项。
  • [+] CheckboxGroupCheckButtonGroup 组件新增 empty-value prop,用来指定在用户取消所有复选项时需要重新选中的项目,需要配合新增的 exclusive 使用。
  • [+] 为 ButtonGroupui 增加可选值 basic

🐞 问题修复

  • [^] 修正 Slider 组件值为 0 时渲染不正常的问题。

2.0.0-beta.5

🐞 问题修复

  • [^] 修复 Select 组件中使用了废弃的 Tag 组件接口的问题。
  • [^] 修复 Dropdown 组件焦点状态不会在关闭后自动清除的问题。
  • [^] 修复 DatePicker 组件浮层位置无法指定的问题。
  • [^] 修复图标按钮内图标的边距问题。
  • [^] 修复 Table 组件表头图标颜色错误的问题。
  • [^] 修复 Menu 组件顶层导航项的字重。

2.0.0-beta.4

⚠️ 非兼容性变更

  • [+] Tag 组件的 closable prop 重命名为 removable
  • [+] Tag 组件的 close 事件重命名为 remove

💡 主要变更

  • [+] NumberInput 组件增加 parse / format prop,用来对输入的内容进行格式化输出。
  • [+] Tag 组件增加 removed prop,可以通过外部控制是否被移除。

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

💡 主要变更

  • [^] 所有支持 v-model / .sync 的 prop 现在均支持完全受控模式。
  • [+] Input 组件增加 placeholder 插槽。
  • [^] Select 组件的 label 插槽现在可以对 multiplesearchable 的状态生效了。

🐞 问题修复

  • [^] 修复 Icon 组件 namenull 时报错的问题。
  • [^] 修复 Select / Slider / Tabs / InputGroup / Collapse 等组件样式细节。
  • [^] 修复 Label 组件 for prop 不支持传入组件/元素的问题。

2.0.0-beta.2

⚠️ 非兼容性变更

  • [-] 移除 veui-theme-one-icons

💡 主要变更

  • [+] 允许 CheckButtonGroup 配置 icons.check 来指定已选项的图标。

🐞 问题修复

  • [^] 修复多数组件内的图标按钮样式。
  • [^] 修复 DatePickerTextarea 的样式问题。

2.0.0-beta.1

💡 主要变更

  • [^] 基于 dls-icons-vue 重新实现了 veui-theme-dls-icons
  • [^] RadioButton 组件的 value prop 支持可受控模式。

🐞 问题修复

  • [^] 修复了全局 config 模块可能进入无限递归的问题。

2.0.0-beta.0

⚠️ 非兼容性变更

  • [^] veui-theme-dls 对组件的 ui prop 进行了调整,见下表。

    组件 删除 新增
    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> 自定义项目内容。

  • [-] 移除了 GridContainer 组件的 flex prop,默认行容器均使用 flex 布局,不再按条件指定。

  • [-] 移除了 Input 组件的 prepend / append 插槽,并将 before / after 插槽移入 Input 内部。原有的前后组合的场景请使用 InputGroup 组件进行组合输入型组件使用。

  • [^] NumberInput 组件的 prepend / append 插槽重命名为 before / after

  • [^] Progress 组件的 append 插槽重命名为 after

  • [^] Tree 组件的 item-prepend / item-append 插槽重命名为 item-before / item-after

💡 主要变更

  • [^] 将整体设计切换到了 D20 版本。
  • [^] 新增 Nav 组件。
  • [+] Alert 组件的 default / extra 插槽增加参数 close,可用来控制提示的关闭。
  • [+] Alert 组件的 extra 插槽增加参数 message
  • [+] Form 组件新增 actions 插槽,用来放置操作按钮。
  • [+] Icon 组件的 name prop 支持直接传入组件定义进行渲染,此时只支持 spin 属性。
  • [+] OptionGroup 组件的 option-tag prop 支持传入 function,来根据选项数据动态生成内部 Option / OptionGroup 使用的标签。
  • [^] Tree 组件的 item / item-before / item-after / item-label 增加参数 expandedparents
  • [+] Tree 组件新增 include-indeterminate prop,用来指定半选状态的节点是否被计入 checked 结果中。

🐞 问题修复

  • [^] 修复了 Menu 组件的键盘导航功能。

2.0.0-alpha.21

🐞 问题修复

  • [^] 修正 Uploader 组件 invalid 事件参数中丢失错误 type 字段的问题。

2.0.0-alpha.20

💡 主要变更

  • [+] Uploader 组件新增 invald 事件,在文件校验失败、选择的文件数量超过最大数量限制时触发,回调参数为包含错误信息的数组。
  • [+] Uploader 组件的 failure 事件的第一个回调参数文件对象增加字段 message,表示错误信息。

2.0.0-alpha.19

🐞 问题修复

  • [^] 修正 NumberInput 在输入值被 min / max 裁切时没有正确同步变更的问题。

2.0.0-alpha.18

🐞 问题修复

  • [^] 修正 Uploaderiframe 模式并且已选文件数量达到 max-count 的情况下,没有正确上传文件的问题。
  • [^] 修正 Uploaderiframe 模式下,反复上传文件列表最后一个文件的问题。

2.0.0-alpha.17

💡 主要变更

  • [^] toast 插件调用后返回值从 void 修改为 function 类型,调用后将关闭该条提示,可用于自行控制 Toast 关闭时机。

🐞 问题修复

  • [^] 修正 Alert 组件调用 extra 插槽的方式,使得不管单条/多条情况下可以使用同样方式调用。
  • [^] 修正 Alert 组件数据变化时当前索引值可能溢出的问题。

2.0.0-alpha.16

💡 主要变更

  • [+] Checkbox 组件的 checked prop 支持可受控模式。

🐞 问题修复

  • [^] 修复了 OptionGroup 组件在使用内联写法时,动态数据源可能导致渲染结果不正确的问题。
  • [^] 修复了 OptionGroup 组件的 before / after slot 在配合 v-slot 语法结合动态数据源时在数据变化后消失的问题。

2.0.0-alpha.15

💡 主要变更

  • [+] Overlay 组件新增了 local prop,值为 true 时浮层将不被移到 <body> 元素下并且脱离全局浮层顺序管理。

🐞 问题修复

  • [^] 修复了 Overlay 组件没有正确销毁的问题。
  • [^] 修复了 InputGroup 组件在子组件指定了自定义的 class 时样式可能不正确的问题。

2.0.0-alpha.14

💡 主要变更

  • [^] Calendar 组件的 selected prop 支持可受控模式。
  • [^] Carousel 组件的 index prop 支持可受控模式。
  • [^] TimePicker 组件的 value prop 支持可受控模式。
  • [^] Dropdown 组件新增 slot trigger,用于自定义下拉触发区域。
  • [+] Dropdown 组件默认 slot 新增参数 close 函数,用来在自定义下拉内容区时需要关闭下拉浮层时调用。
  • [+] Overlay 组件新增 local prop,用来指定不将浮层移动到 document.body 下,脱离全局浮层管理。

🐞 问题修复

  • [^] 修复了 Popover 组件的 ui prop 不生效的问题。
  • [^] 修复了 Tabs 组件在销毁时依然触发 active 变化的问题(#659)。
  • [^] 修正了 Tabs 组件在 Safari 下的样式问题。
  • [^] Menu 组件使用路由的 path 来计算当前激活的项目,而不是 fullPath

2.0.0-alpha.13

💡 主要变更

  • [+] Autocomplete 组件新增了 option-label 插槽。
  • [+] OptionGroup 组件新增 before / after 插槽,用于在 popup 模式下在新开浮层上下插入自定义内容。

🐞 问题修复

  • [^] 修复了 Tab 组件的 label 等 prop 更新时视图没有同步更新的问题。
  • [^] 修复了 Menu 组件数据源在 SSR 环境下无限循环的问题。
  • [^] 修复了 Anchor 组件在 SSR 环境下访问 DOM 的问题。

2.0.0-alpha.12

🐞 问题修复

  • [^] veui 现在在 babel-plugin-veuipeerDependencies 中,以免多版本共存时 babel-plugin-veui 无法找到正确的 veui 版本。
  • [^] 修复了 Menu 组件非受控模式下第一次没有正确同步当前路由状态的问题。
  • [^] 修复了 Calendar 组件 disabled-date prop 对显示在本月的前后月日期未生效的问题(#644)。
  • [^] 现在 ButtonGroup 组件只有在按钮项 value 为字符串时抛出同名事件,避免在非字符串类型时报错。
  • [^] 去除了多选 Select 组件已选项默认滚动入可视区域的行为(因为可能有多个已选项)。
  • [^] 修正了开启搜索功能的 Dropdown 组件搜索栏和选项区域同时滚动的问题,搜索栏现在固定在下拉菜单顶端。

2.0.0-alpha.11

⚠️ 非兼容性变更

  • [-] 移除了 babel-preset-veui

  • [-] 移除了 veui-theme-one

  • [-] 移除了 Tabs 组件的 index prop,现在控制激活标签页只能使用 active prop,并支持可受控模式。

    使用指南

    使用 active prop 与 change 事件完全外部控制激活状态
    <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 双向同步激活状态
    <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>
    激活状态完全由组件内部控制
    <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-extra-labeltabs-extra-tip slot。

  • [^] Tabs 组件的 tab-item scoped slot 现在包含整个按钮/链接,方便替换为自定义实现。

  • [-] 移除了Tabs 组件的 tab-item-extra scoped slot,removableTab 组件始终显示移除按钮。

  • [^] Tabs 组件在路由模式下,不再自动输出 <router-view> 组件,需要通过 Tabdefault slot 或 Tabs 新增的 panel slot 中进行输出。

    使用指南

    (嵌套)路由模式

    在之前的版本,如果 Tab 组件的 default slot 未传入任何内容,路由模式下 VEUI 会自动在标签内容容器内渲染 <router-view>。这导致在不使用嵌套路由时或是希望灵活控制 <router-view> 位置时产生额外的问题。所以在这个版本中移除了这个逻辑,用户可以使用 Tabspanel slot 来统一在标签内容容器中输出 <router-view>,也可以在某些 Tabdefault slot 中输出 <router-view> 及额外内容来覆盖全局的 panel slot,甚至可以将 <router-view> 输出到其它任意合适的位置。

    <veui-tabs>
      <veui-tab label="A" to="content/a" />
      <veui-tab label="B" to="content/b" />
      <veui-tab label="C" to="content/c">
        <h3>Content C</h3>
        <router-view />
      </veui-tab>
      <template #panel>
        <router-view />
      </template>
    </veui-tabs>

💡 主要变更

  • [+] 新增了 Tabs 组件的 tab-label scoped slot,用于仅自定义标签项内容。

  • [+] 新增 Tabs 组件的 panel slot,用于指定标签下方面板内的自定义内容。

  • [+] 新增 Tabs 组件的 change 事件,回调参数为 tab 对像,包含 namelabeltostatus 等字段。

  • [+] 新增 Tab 组件的 item slot,用于自定义标签内容,与 Tabs 组件的 tab-item 对应,优先级更高。

  • [+] 新增 Tab 组件的 label slot,用于自定义标签内容,与 Tabs 组件的 tab-label 对应,优先级更高。

    使用指南

    自定义标签项内容

    可以使用 Tabstab-item scoped slot 来自定义所有标签项的内容,也可以使用 Tabitem scoped slot 来自定义单个标签项内容(单个内容将覆盖整体的内容)。

    <veui-tabs>
      <veui-tab label="A">
        Content A
        <template #item="tab">
          <button
            type="button"
            class="foo-btn"
            :disabled="tab.disabled"
            v-bind="tab.attrs"
            @click="tab.activate"
          >
            {{ `${tab.label} ${tab.active ? '✅' : '' }` }}
          </button>
        </template>
      </veui-tab>
      <veui-tab label="B">Content B</veui-tab>
      <veui-tab label="C">Content C</veui-tab>
    </veui-tabs>

    如果只想定义文本区域的内容(不需重写点击激活等逻辑),请使用 Tabstab-labelTablabel scoped slot,用法类似。

    <veui-tabs>
      <veui-tab label="A">
        Content A
        <template #label="tab"
          >Content A {{ `${tab.active ? '✅' : '' }` }}</template
        >
      </veui-tab>
      <veui-tab label="B">Content B</veui-tab>
      <veui-tab label="C">Content C</veui-tab>
    </veui-tabs>

🐞 问题修复

  • [^] 修复了 Transfer 组件删除已选项时报错的问题。
  • [^] 修复了 Transfer 组件和 Tree 组件在被禁用状态下依然可以添加已选项的问题。
  • [^] 修复了悬浮触发的 Tooltip 组件可能被错误关闭的问题。
  • [^] 修复了在局部输出全局样式时没有正确处理 Anchor 浮层的问题。
  • [^] 修复了 Overlay 组件没有响应 inline prop 变化的问题。
  • [^] 修复了 NumberInput 组件在 strong 模式下最大最小值没有正确工作的问题。

2.0.0-alpha.10

⚠️ 非兼容性变更

  • [^] 使用 Uploaderupload prop 自定义上传过程时,参数中的回调函数 onload / onprogress / onerror 中第一个参数 file 被移除,原来提供上传结果、进度或错误信息的第二个参数成为第一个参数。

    迁移指南

    原回调方法
    function upload(file, { onload, onprogress, onerror }) {
      const xhr = new XMLHttpRequest()
      xhr.upload.onprogress = (e) => onprogress(file, e)
      xhr.onload = () => {
        onload(file, JSON.parse(xhr.responseText))
      }
      xhr.onerror = (e) => onerror(file, e)
    
      // ……实际上传操作……
    }
    新回调方法
    function upload(file, { onload, onprogress, onerror }) {
      const xhr = new XMLHttpRequest()
      xhr.upload.onprogress = (e) => onprogress(e)
      xhr.onload = () => {
        onload(JSON.parse(xhr.responseText))
      }
      xhr.onerror = (e) => onerror(e)
    
      // ……实际上传操作……
    }

💡 主要变更

  • [^] Uploader 使用 upload prop 自定义上传过程时,如果返回一个函数,该函数将在用户操作取消或上传组件销毁时被调用,用来中断自定义上传过程。
  • [^] Uploader 没有通过文件类型校验、文件大小校验和自定义校验的文件现在会以上传失败的状态出现在文件列表中。
  • [+] Uploader 新增 prop picker-position,支持图片上传模式下控制上传按钮始终保持在列表最前面还是最后面。
  • [+] Uploader 新增可供外部调用的方法 addFiles,支持通过函数直接添加并上传文件。
  • [+] Menu 组件新增了 icon / before / after 三个插槽。

🐞 问题修复

  • [^] 修复了使用 tabs-extra 插槽时由于插槽位置错误可能引起报错的问题。
  • [^] 修正了 Menu 组件图标尺寸错误的问题。
  • [^] 调整了部分输入组件的样式,解决了在为组件最外层元素设置宽度后内部组件没有匹配尺寸的问题。
  • [^] 修正了 Table 组件在初始数据为空时(比如异步加载),滚动事件监听器没有正常初始化导致内容加载后,表头与内容横向滚动不同步的问题。

2.0.0-alpha.9

🐞 问题修复

  • [^] 修复了仍有部分局部输出全局样式对浮层不生效的问题。😭
  • [^] 修正了入口文件导出没有与最新组件列表同步的问题。
  • [^] 修正了 Schedule 组件 tooltip 提示可能失效的问题。

2.0.0-alpha.8

💡 主要变更

  • [^] DatePicker 组件的 selected prop 支持可受控模式。

🐞 问题修复

  • [^] 修复了局部输出全局样式对浮层不生效的问题。

2.0.0-alpha.7

⚠️ 非兼容性变更

  • [-] 移除了 Button 组件的 loading 插槽。

💡 主要变更

  • [+] veui-theme-dls 新增了 @veui-root-element 变量,支持局部输出全局样式的功能。

    使用指南

    可以配置全局 Less 变量 @veui-root-element 为目标区域的元素名(这里必须是自定义元素),此时所有全局样式规则会自动调整到只针对该类元素内部生效,比如:

    @veui-root-element: v-app;

    此时输出的全局样式都会带上 v-app 前缀,如:

    v-app button,
    v-app [type='button'],
    v-app [type='reset'],
    v-app [type='submit'] {
      -webkit-appearance: button;
    }
    为什么要使用自定义元素?

    如果允许自定义前缀使用 ID 或类选择器、或者其它复合选择器,将会使全局样式的特异性过高,超过 VEUI 组件样式的特异性(比如 #app button > .veui-button),导致组件样式被全局 normalize 之类的样式覆盖,产生不符合预期的结果。而由于组件至少有一级类选择器,所以在这里我们只要合理使用自定义元素,就可以有效避免样式覆盖的问题。

🐞 问题修复

  • [^] 修复了 Table 组件初始时表头和内容列有时错位的问题。
  • [^] 修正了 Menu 引入了错误的尖角图标的问题。

2.0.0-alpha.6

⚠️ 非兼容性变更

  • [^] 删除了 Drawer 组件的 backdrop-closable prop,新增 outside-closable prop 来控制点击组件外区域时是否关闭。
  • [-] 移除了 Sorter 组件,仅在 Table 内部使用。
  • [^] Table 组件带边框的样式修改为依赖新增 prop bordered,而非通过 ui="bordered" 指定,并且当存在单元格合并(包括表格内容合并和嵌套表头时)必须输出带边框样式。

💡 主要变更

  • [+] 新增 Menu 组件。
  • [+] 指令式调用 Toast 组件时,支持传入自定义的渲染函数以输出非纯文本内容。
  • [+] Table 组件新增列分组(输出嵌套表头)功能支持。
  • [+] Table 组件新增固定列功能支持。
  • [+] Dialog 组件在 modal 模式下,新增滚动锁定功能支持。

🐞 问题修复

  • [^] 修复了 Toast 组件的进入动画。
  • [^] 修复了 Input 组件在非 WebKit 浏览器下报错的问题。
  • [^] 修复了 SearchBox 组件的 role 属性输出。

2.0.0-alpha.5

🐞 问题修复

  • [^] 修复了 Drawer 组件没有正确支持 overlay-class prop 的问题。
  • [^] 修正了 DatePicker 组件没有根据 week-start prop 处理快捷选项的问题。

2.0.0-alpha.4

⚠️ 非兼容性变更

  • [^] Uploader 组件调整为适配 DLS 实现,新增了插槽 upload 支持图片模式下自定义上传区域,移除 type-invald / size-invalid / count-overflow / extra-operation 这四个插槽,移除 prop progress,移除 ui 选项 horizontal
  • [^] 用来接入多个版本 VEUI 的 babel-plugin-veuiveui-loadername 选项重命名为 alias
  • [^] Tree 组件的 item-click prop 被移除,现在点击内容区域的行为修改为:selectable 时切换选中,否则 checkable 时切换勾选,否则在有子节点时切换展开收起。

💡 主要变更

  • [+] Uploader 组件新增了 validator prop,支持自定义的异步校验功能。

  • [+] Uploader 组件新增了 controls prop,支持在图片模式下自定义可对文件进行的操作。

  • [^] veui-loaderbabel-plugin-veuiname 选项改名为 alias

  • [+] TooltipPopover 新增了 autofocus prop,允许在 interactive 不为 false 时在打开时自动聚焦内容。

  • [+] InputTextarea 新增了 maxlength prop,用来指定最长的字符数限制。

  • [+] InputTextarea 新增了 strict prop,用来指定是否允许在字符数到达 maxlength 限制时继续输入。

  • [+] 新增 babel-plugin-veui/rewrite,可以将指定路径下对 veui 的依赖根据 alias 参数重写。

    例子

    对于一个典型的同时引入两个版本 VEUI 的项目,babel.config.js 内容建议如下:

    module.exports = {
      presets: ['@vue/app'],
      plugins: ['veui', ['veui', { name: 'veui-next' }, 'veui-next'], 'lodash'],
      overrides: [
        {
          test: [/veui-theme-dls/],
          plugins: [['babel-plugin-veui/lib/rewrite', { alias: 'veui-next' }]]
        }
      ]
    }

🐞 问题修复

  • [^] 修正了 veui-loader 读取到非用户依赖版本的 veui 版本的问题。
  • [^] 修正了 veui-loader 会对用户依赖版本 veui 生效而 � 非仅仅对指定别名的包生效的问题。
  • [^] 修复 DatePicker 组件 shortcut 样式不正确的问题。
  • [^] 修复 Uploader 组件在有文件未上传完成的情况下,上传新文件会重复上传未上传完的文件的问题。
  • [^] 修复 Option 聚焦时可能错误引发滚动的问题。
  • [^] 修复了部分样式未按类名前缀变量进行输出的问题。
  • [^] 修复了对 date-fns 模块引用了错误路径的问题。

2.0.0-alpha.3

⚠️ 非兼容性变更

  • [-] DatePicker 组件不再支持 shortcuts-positionpanel prop,并删除对应的全局配置项 datepicker.shortcutsPosition

💡 主要变更

  • [+] 为 veui-loaderbabel-plugin-veui 增加了自定义 veui 别名的功能,以允许项目同时使用多个版本的 VEUI,帮助顺利从 veui@1veui@2 进行切换。详细用法见 #596。
  • [+] 新增 InputGroup 组件。
  • [+] 为 Label 组件增加了 for prop,用于显式指定被激活的输入组件。
  • [+] 为 Input / NumberInput / TimePicker / Textarea / Autocomplete 组件增加 invalid prop,使其处于错误状态。
  • [+] 为 Autocomplete / Dropdown / Input / SearchBox / TimePicker 组件新增 clear 事件。(#591)
  • [+] 为 Dialog / Drawer / Embedded / PromptBox 新增 loading prop,默认使确认按钮处于加载状态。
  • [+] 为 PromptBox 增加 invalid prop,会使内部的输入框处于错误状态。
  • [^] 现在 confirm / prompt 的 manager 与插件中,ok / cancel 选项函数返回 false 或返回的 Promise resolve false 时,将阻止对话框关闭。
  • [^] 现在 prompt 的 manager 与插件中,ok / cancel 选项函数会接收到输入框当前值作为第一个参数。(#593)
  • [^] DatePicker / Calendar 组件样式更新到 DLS 版本。
  • [^] DatePicker 组件新增全局配置项 datepicker.monthRangePlaceholderdatepicker.yearRangePlaceholder
  • [+] Calendar 组件 viewchange 事件参数中新增该事件触发面板的 index 数据。
  • [+] DatePicker / Calendar 组件支持月份/年份的范围选择。
  • [+] Calendar 组件支持月份/年份的多选。
  • [+] 可搜索的 Select 组件现在在输入过程中会对外触发 input 事件并携带输入内容。
  • [+] Select 新增作用域插槽 tag,用来自定义多选情况下已选项的内容。

🐞 问题修复

  • [^] 修复 Slider 组件分段模式下两端缺少 marker 的问题。
  • [^] 修复 Transfer 组件中搜索功能没有正确随组件设置禁用的问题。
  • [^] 修复 Columnhead / foot 插槽数据更新失效的问题。
  • [^] 优化了 Select / Dropdown 组件的键盘操作。
  • [^] 优化了 NumberInput 组件的显示。
  • [^] 修复 Textareaplaceholder 没有生效的问题。
  • [^] 修复 SearchBox 在未触发下拉提示时按下 enter 也不触发 submit 事件的问题。

2.0.0-alpha.2

⚠️ 非兼容性变更

  • [^] Searchbox 组件更名为 SearchBox。同时组件内部所有的 class 中的 searchbox 亦被更名为 search-box。如果在样式代码中进行过定制,请进行全局替换。

💡 主要变更

  • [+] Switch 组件增加了 on-labeloff-label prop 以及 content 作用域插槽,支持在内部输出提示文字或其它内容。
  • [^] 重写了 overlay manager,修复了输出的 z-index 无限制上涨的问题。
  • [+] 新增了全局配置项 managers.overlay,可以注入其它实例接管浮层管理逻辑。
  • [^] 调整了耦合组件的关联机制,现在 ColumnTab 等组件可以被封装在其它组件内,填充入 TableTabs 等的插槽中使用。
  • [+] Dialog 新增了 footless prop,用于不输出默认的底部操作栏。

🐞 问题修复

  • [^] 修复 Tabs 组件有时为激活 tab 的操作设置了错误参数的问题。
  • [^] 修复 Schedule 组件合并选择范围时可能出现的问题。
  • [^] 修正了大量样式细节。

2.0.0-alpha.1

💡 主要变更

  • [^] 补充了 veui-theme-dls-icons 中缺失的图标。

2.0.0-alpha.0

⚠️ 非兼容性变更

  • [^] 用 Popper.js 替代了 Tether。Overlay 组件的 options prop(以及多个组件的 overlay-options prop)现在都对应于 Popper.js 的 options 参数Overlayposition prop 在之前的版本就已经兼容了 Popper.js 的语法,所以如果之前就以 Popper.js 风格进行描述,则无需调整。见 #574
  • [^] Input 组件的 before / after slot 重命名为 prepend / append,新的 before / after 位置在输入框外部。并且新增了 before-label / after-label 两个 slot。见 #502
  • [^] NumberInput 组件的 before / after slot 重命名为 prepend / append。见 #502
  • [-] 移除 Alert 组件的 close-label 属性。
  • [^] Pagination 组件根据新的设计不再支持总数显示。
  • [-] 移除已废弃的 Pager 组件,请使用 Pagination 组件代替。
  • [-] 移除 Progress 组件已废弃的 precision prop,请使用 decimal-place prop 代替。
  • [-] 移除 Progress 组件已废弃的 state prop,请使用 status prop 代替。
  • [-] 移除 Progress 组件已废弃的 auto-succeed prop,请使用 autosucceed prop 代替。
  • [-] 移除 Schedule 组件已废弃的 shortcuts-displayexpand / collapse,请使用 inline / popup 代替。
  • [-] 移除 OptionGroup 组件已废弃的 positionpopout,请使用 popup 代替。
  • [-] 移除 Tooltip 组件已废弃的 custom prop,请使用 trigger: 'custom' 代替。
  • [-] 移除 Tree 组件已废弃的 expands prop,请使用 expanded 代替。
  • [-] 移除 Uploader 组件已废弃的 auto-upload prop,请使用 autoupload prop 代替。
  • [-] Uploader 组件响应数据中的 statusreason 字段被移除,请使用 successmessage 代替。见 1.0.0-alpha.19 的迁移指南。

💡 主要变更

  • [+] 支持在编译时指定组件 class 前缀。具体自定义方式见 #573
  • [+] 新增了 veui-theme-dls 主题并将大部分组件调整为适配 DLS 实现。
  • [+] 新增了 Loading 组件。
  • [+] 新增了 Collapse 组件。
  • [+] 新增了 Accordion 组件。
  • [+] 新增了 Badge 组件。
  • [+] 新增了 TimePicker 组件。
  • [+] 新增了 Drawer 组件。
  • [+] 新增了 Embedded 组件。
  • [+] 新增了 Anchor 组件。
  • [+] 为 Overlay / Dialog 组件新增了 inline prop,允许内联在内容中进行渲染。
  • [+] 为 Overlay 组件新增了 match-width prop,允许对于相对指定元素定位时,以目标元素宽度为浮层最小宽度。
  • [+] 为 Progress 组件新增了 append slot。
  • [+] 为 Alert 组件新增了 titleextra slot。

🐞 问题修复

  • [^] 修复 Select 组件中 Option 没有传入 label 时对应 slot 不渲染的问题。
  • [^] 修复 Select 内联写法时部分 slot 不生效的问题。
  • [^] 修复 Select 内联写法时 trigger prop 不生效的问题。

1.0.0-alpha.32

⚠️ 非兼容性变更

  • [^] Select / Input / Checkbox / Radio / Switch 组件现在不会在外部数据发生变化后触发更新时抛出 inputchange 事件。当需要始终同步数据时,则需使用 v-model 进行绑定。

💡 主要变更

  • [^] outside 指令判断元素位置时增加了 Portal 逻辑的支持,如果 Portal 入口在指定范围内,则被其移动的元素也将视为在指定范围内。

🐞 问题修复

  • [^] 修复 Uploader 组件在 iframe 模式下,提交过程中被销毁时没有正确移除 <iframe><form> 的情况。

1.0.0-alpha.31

⚠️ 非兼容性变更

  • [^] 修正 Uploader 组件中 file / uploading / failure 三个作用域插槽参数。由 { file: { name, src, status, index } } 修正为 { name, src, status, index }

💡 主要变更

  • [+] drag 指令现在仅在鼠标左键按下时才触发拖动。
  • [+] drag 指令的 dragend 回调参数中新增 cancel 方法,可用来撤消最近一次拖动(恢复到 dragstart 之前的位置)。

1.0.0-alpha.30

💡 主要变更

  • [+] ButtonGroup 的点击事件增加最后一个参数为原生事件对象。
  • [+] 增加 Autocomplete 组件。
  • [+] 增加 Drawer 组件(缺样式)。
  • [+] 增加 Tag 组件(缺样式)。

🐞 问题修复

  • [^] Dropdown 组件现在可以正确支持不同尺寸。
  • [^] 修复 Input 组件占位符有时没有正确清除的问题。
  • [^] 修复 NumberInput 有时无法正确输入的问题。
  • [^] 修复 Searchbox 组件在 readonly 状态下会触发提示的问题。

1.0.0-alpha.29

🐞 问题修复

  • [^] 修正 RegionPicker 组件浮层不能正常关闭的问题。
  • [^] 修正 Tooltip 组件的 v-outside 参数类型问题导致有时无非正常关闭。
  • [^] 修正 Schedule 组件没有正确处理 readonlydisableddisabled-hour prop 的问题。
  • [^] 修正 Schedule 组件的 label 插槽 from 参数错误的问题。

1.0.0-alpha.28

🐞 问题修复

  • [^] 修正 npm 包没有正确发布的问题。

1.0.0-alpha.27

🐞 问题修复

  • [^] 修正 babel-plugin-veui 可能阻断后续插件执行的问题。(#469)

1.0.0-alpha.26

🐞 问题修复

  • [^] 修正 Tree 组件 item-label slot 没有正常渲染的问题。
  • [^] 修正 longpress 指令 repeat 参数的默认值为 false
  • [^] 修正 resize 指令没有正确处理 leading 参数的问题。
  • [^] 修正 outside 指令没有准确判断参数是否变更的问题。
  • [^] 修正 Breadcrumb 组件初始值为 null 时报错的问题。

1.0.0-alpha.25

⚠️ 非兼容性变更

  • [^] Checkboxindeterminate prop 不再支持 .sync,始终由外部控制。
  • [^] Switchchange 事件将在数据更新完毕后触发。

💡 主要变更

  • [^] 支持多个 Checkboxv-model 绑定到同一个数组时自动组成复选框组。
  • [+] Textarea 新增 select-on-focus prop。

🐞 问题修复

  • [^] 修复了部分原生 <button> 未设置 type="button" 的问题。

  • [^] 修正了 CheckboxRadioSwitch 组件中原生 <input> 状态没有正确同步的问题,以触发 CSS 中正确的伪类样式。

  • [^] 修正了带下拉浮层的组件的 ARIA 标注,使浮层拥有正确的从属关系。

  • [^] 修正了组合组件时可能发生未正确继承 ui prop 的问题。

  • [^] 修复了 Schedule 组件在拖动选取多日时段时,selected 中可能共享同一数组实例的问题。

  • [^] 优化了 InputNumberInputTextarea 的属性透传机制,现在未被识别为 prop 的属性都会正确输出到原生 <input><textarea> 元素上。

  • [^] 优化了原生事件透传机制,原生元素触发的事件将可以被外层组件直接透传。涉及的组件为 ButtonCheckboxRadioSwitchInputNumberInputTextarea

    相关事件包括:

    auxclickclickcontextmenudblclickmousedownmouseentermouseleavemousemovemouseovermouseoutmouseupselectwheelkeydownkeypresskeyupfocusblurfocusinfocusout

1.0.0-alpha.24

💡 主要变更

  • [+] 为 CalendarDatePicker 组件增加 prop type,以支持月份/年份选择。
  • [+] 为 Transfer 组件实现了 focus 方法。
  • [^] 优化了 Tree 的键盘导航及 ARIA 标注。
  • [^] 优化了 Chrome 下自动填充时的样式。

🐞 问题修复

  • [^] 修正 Transfer 组件已选项不能从外部正确更新的问题。
  • [^] 修正 Tablecolspan 在动态显示列时计算不正确的问题。
  • [^] 修正 Uploader 提示样式可能被截断的问题。

1.0.0-alpha.23

⚠️ 非兼容性变更

  • [^] Tree 组件的 expands prop 更名为 expandedexpands 被废弃,将在 1.0.0 移除。
  • [^] RadioCheckboxchange 事件将在数据更新完毕后触发。

💡 主要变更

  • [^] 为 Overlay 组件增加 prop position
  • [^] 为 FilterPanel 组件增加 prop title
  • [^] Tree 组件的 itemitem-label slot 作用域参数现在包含每个节点数据项的所有字段。
  • [^] Transfer 组件的 candidate-itemselected-itemcandidate-item-labelselected-item-label slot 作用域参数现在包含每个节点数据项的所有字段。

🐞 问题修复

  • [^] 修正 Overlay 组件 prop 类型导致 SSR 报错的问题。
  • [^] 修正 Searchbox 组件 suggestions prop 类型为 Array<string> 时,replace-on-select 设置无效的问题。
  • [^] 修正 veui-theme-one-icons 中图标的 fill & stroke
  • [^] 修正 Transter 组件的 selected-item-label 插槽在 selected-show-mode'flat' 时无效的问题。
  • [^] 修正 Transfer 组件更新 datasource 时候选项没有正确更新的问题。
  • [^] 修正 Schedule 时段合并逻辑在从 0:00 开始时失效的问题。

1.0.0-alpha.22

⚠️ 非兼容性变更

  • [^] Progress 组件的 auto-succeed prop 更名为 autosucceedauto-succeed 被废弃,将在 1.0.0 移除。

💡 主要变更

  • [^] Pagination 组件支持不传入 to prop,完全使用事件进行交互。
  • [^] 为 Dialog 组件的所有插槽传入作用域参数 close 函数。

🐞 问题修复

  • [^] 修复了 Buttontargetprops 的同步问题。
  • [^] 修正了 PromptBox 回车确认时事件重复触发的问题。
  • [^] 修正了 CheckboxGroupCheckButtonGroup 组件初始值为 null 时报错的问题。
  • [^] 修正了 CalendarSchedule 组件范围选择初始值为 null 时计算错误的问题。
  • [^] 修正了 AlerBoxTabs 组件存在硬编码文本的问题。
  • [^] 修正了 SelectOptionGroup 在使用内联组件时,作用域插槽没有生效的问题。
  • [^] 修正了 Textarea 在显示行号且不自动扩展时,行号滚动不同步的问题。
  • [^] 修正了 Tooltip 组件的在 target / trigger 改变时重新绑定事件的逻辑。

1.0.0-alpha.21

🐞 问题修复

  • [^] 修复了 NumberInputvaluelocalValue 的同步问题。
  • [^] 修正了 Overlay 组件 target prop 类型声明在 SSR 下报错的问题。
  • [^] 修正了内部滚动模式的 Table 组件在系统有滚动条时的表头宽度。
  • [^] 修正了用 row prop 指定 Textarea 组件高度时在 IE 下无视行高的问题。
  • [^] 修正了 Alert 组件图标在 IE 下没有垂直居中的问题。
  • [^] 修正了 Slider 组件在有多按钮时在 IE 下不能正常工作的问题。
  • [^] 修正了 TreeDatePicker 有时在鼠标操作时误显示聚焦样式的问题。
  • [^] 修复了 Tabs 中使用 offsetWidth 的精度问题导致 activeindex 切换失效的问题。

1.0.0-alpha.20

💡 主要变更

  • [+] Searchbox 新增了 suggestions-beforesuggestions-after 两个插槽。
  • [^] Searchbox 提示层只在选择选项后关闭,如果点击自定义插槽而非默认的选择选项时,提示层不再自动关闭。
  • [+] 在控制台警告中增加了组件层级信息。
  • [+] 为 Tree / FilterPanel / Transfer 组件的增加了键盘交互。
  • [+] 为所有支持聚焦或激活操作的组件添加了 focusactivate 方法。
  • [+] 对于使用路由模式的 TabsTab 组件,新增函数 prop matches(current, to) 来允许指定自定义的激活状态判断,不再需要手动在 Tabs 组件中控制 indexTab 组件的 matches 逻辑优先于上层 Tabs 组件中的 matches
  • [+] 增加了全局配置项 tabs.matches 来允许全局自定义 Tab 组件 matches prop 的默认值。
  • [^] 使用了更为显著的聚焦样式。

🐞 问题修复

  • [^] 修复了 Overlay 组件的 target prop 类型。
  • [^] 修正了主模块没有导出 OptionGroup 组件的问题。
  • [^] 提前判断是否需要修正复选框 indeterminate 兼容性,而非在用到的组件 mounted 以后才判断,避免模拟的点击触发了已经定义的事件监听器。
  • [^] 去除了多余的类型判断,修复 min / max 规则失效的问题。

1.0.0-alpha.19

⚠️ 非兼容性变更

  • [^] Uploader 组件上传请求响应经过 convert-response 函数转换后,需要提供给组件执行后续操作的数据结构有所调整。目前仍然兼容老版本格式,但将在 1.0.0 移除。

    迁移指南

    原数据格式

    成功:

    { "status": "success", "name": "...", "src": "..." }

    失败:

    { "status": "failure", "reason": "..." }
    新数据格式

    成功:

    { "success": true, "name": "...", "src": "..." }

    失败:

    { "success": false, "message": "..." }
  • [-] 移除了 managers/configmergemergeDefaults 方法,现在对于 Object 类型的配置项需要提供完整值。

  • [^] Breadcrumb 组件的 default 作用域插槽重命名为 item,因为 Vue 实际的 fallback 逻辑,所以避免使用同名的 slot 和 scoped slot。

💡 主要变更

  • [+] 新增了 I18N 支持,外置了所有文案,并添加了组件级别对应的 zh-Hansen-US locale。
  • [+] veui-loader 新增支持通过 locale 选项配置要自动引入的语言包。
  • [+] veui-loader 新增支持通过 global 选项配置全局引入的模块。
  • [^] managers/config 模块的配置现在为响应式数据,支持在组件渲染后进行全局修改。
  • [^] Field 组件对应的数据字段名现在默认优先取 name prop,且可以被 field prop 覆盖。
  • [^] rule 模板占位符由 ${...} 变更为 {...},以方便在模板字符串中进行书写。老语法仍然保持兼容。
  • [^] CalendarDatePickerSchedule 的范围合并逻辑现在默认为“智能”模式,当用户从已选项开始选择范围时,将从整体已选范围中去除当前选区;当从未选项开始选择时,则将当前选区并入整体。
  • [+] Table 组件新增 prop scroll,用来限定内容滚动区域的最大高度,设置时会使得表格的头/脚固定。
  • [+] Table 组件新增 prop expandableexpanded,用来支持行展开,且新增作用域插槽 sub-row
  • [+] Column 组件新增作用域插槽 sub-row
  • [^] Link 组件新增 prop reltarget,当 target_blank 时自动为 rel 增加 noopener 值,以增强安全性。
  • [^] 将所有图标替换为了新版「标局」图标并拆分为新的 veui-theme-one-icons 包。原 veui-theme-one/icons 下的图标依然保留。

🐞 问题修复

  • [^] 修正了 GridContainer 的左右边距计算。
  • [^] 修正了 Link 组件在默认模式下 disabled 未起效的问题。
  • [^] 修正了 Uploader 组件 remove 事件的回调参数 file 提供了错误的文件的问题。
  • [^] 修正了未注册的 ui 值不能直接输出的问题(#378)。

1.0.0-alpha.18

⚠️ 非兼容性变更

  • [^] 对 Vue-Awesome 的依赖升级到 3.1.2。如果之前有在项目中直接使用 vue-awesome@2 的,需要升级到最新版,否则无法混用 VEUI 与 VueAwesome 的图标。
  • [^] Tooltip 组件的 custom prop 被废弃,将在 1.0.0 移除。替代方式为:将 trigger prop 指定为 custom 来使用自定义逻辑控制打开及关闭。
  • [^] Pagination 组件内部所有的 class 中的 pager 被更名为 pagination。如果在样式代码中进行过定制,请进行全局替换。
  • [^] Uploader 组件的 progress prop 的 'number' 取值被替换为 'percent''detail',分别表示显示百分比及显示进度详情。进度详情将以 `${loaded}KB/${total}KB` 的形式输出。
  • [^] Uploader 组件的 prop convert-response 函数必须返回转换后的数据对象。

💡 主要变更

  • [^] 增加主题包为组件部件指定 ui 的功能,同时组件现在将自动继承父组件中可继承的 ui 字段,并更新了 veui-theme-one 中所有相应的部分。
  • [+] Breadcrumb 组件的 scoped slot default 新增参数 index
  • [+] Button 组件增加 ui 选项 dark
  • [^] rulevalidate 方法现在可以传入额外的上下文的数据,比如在 Field 验证时传入整个 Formdata

🐞 问题修复

  • [^] 修正 GridContainer 没有正确发布的问题。
  • [^] 修复 Slider 组件在有 step 时的选择逻辑,由向下选取点改为就近取点,且修正了 min 值非 0 时的逻辑。
  • [^] 修复 Uploader 组件无法正确获取全局配置的 uploader.convertResponse 函数的问题。

1.0.0-alpha.17

⚠️ 非兼容性变更

  • [^] Dialog 组件预设 uitop 更名为 high
  • [^] Button 组件再 loading 状态下将保留 slot 内容,不再强行设置为 '加载中……'
  • [-] 删除了 $confirm$prompt 插件本来就无效的带状态唤起接口。

💡 主要变更

  • [+] 增加 longpress 指令。
  • [+] Dropdown 组件增加了 trigger prop,来指定何时展开下拉框。
  • [+] Dropdown 组件增加了 split prop,来允许拆分指令按钮与下拉切换按钮。
  • [+] Button 组件增加了 mouseenter / mouseleave 事件。
  • [+] NumberInput 组件支持长按调整值。
  • [+] 增加了 GridContainer / GridRow / GridColumn 组件。
  • [+] Progress 组件增加了预设 uifluid,自适应容器宽度。
  • [+] Dialog 组件增加了预设 uismall / large / auto,用于指定预设宽度。
  • [+] 为 Overlay / Dialog / AlertBox / ConfirmBox / PromptBox 组件增加了 afterclose 事件。
  • [^] 调整了 alert / confirm / prompt / toast 插件的接口,现在 $alert / $confirm / $prompt / $toast 均可直接作为函数调用。

🐞 问题修复

  • [^] 修复 Tabs 组件移除标签时可能产生的问题。
  • [^] 修正 ConfirmBox 没有正确触发事件的问题。

1.0.0-alpha.16

💡 主要变更

  • [+] 增加了 babel-preset-veui,简化了引入 VEUI 一起进行转译所需的步骤。
  • [^] 引入 date-fns 替换了对 moment 的依赖。

🐞 问题修复

  • [^] 修复了 DatePicker 组件 panel prop 默认值错误的问题。
  • [^] 修正 Alert 组件样式。
  • [^] 修正 Breadcrumb 组件样式。

1.0.0-alpha.15

⚠️ 非兼容性变更

  • [^] 因为 less@2 依赖的包存在安全漏洞,故此次升级将对 less 的依赖升级到了 ^3.8.0,对 less-plugin-est 的依赖升级到了 ^3.0.0

    迁移指南

    1. 更新 lessless-plugin-est 的版本;
    2. 如果使用 vue-cliwebpack 模板初始化项目,请按如下方式修改 build/utils.js 文件:
    -    less: generateLoaders('less'),
    +    less: generateLoaders('less', { javascriptEnabled: true }),
  • [^] Dialog 组件现在默认会在点击默认的按钮及按下 esc 键时关闭并通过 .sync 修饰符同步外部数据。并且新增 before-close 函数 prop 来处理需要阻止对话框关闭的情况。增加 default / foot slot 的 slot 参数 close,用来在重写组件 slot 时调用关闭逻辑。

    迁移指南

    对于重写 foot slot 处理关闭逻辑的使用方式,不会受新逻辑影响。

    对于监听 ok / cancel 事件并直接关闭对话框时,亦不受此改动影响。当需要阻止对话框关闭时,需要使用新增的 before-close 函数 prop。

    before-close prop 对应的函数类型为 function(type: string): boolean=|Promise<boolean=>type 将会是 Dialog 组件关闭操作的类型,默认情况下会有 okcancel。返回值可以是一个 boolean,也可以是一个 resolve booleanPromise,用来处理可能需要异步决定对话框关闭状态的情况。返回值或 resolve 值非 false 时才会关闭对话框。例如,如果我们要异步处理 ok,而对 cancel 直接关闭,可以按如下方式处理:

    <veui-dialog :open.sync="dialogOpen" :before-close="submit"
      >...</veui-dialog
    >
    methods: {
      submit (type) {
        if (type === 'ok') {
          return axios.post('/item/create', {/* ... */})
            .then(({ id, error }) => {
              if (error) {
                this.showError(error)
                return false // resolve `false` 将阻止对话框关闭
              }
            })
        }
        // resolve 但不返回 `false` 时会关闭对话框
      },
      // ...
    }

    对于需要重写 slot(例如添加底部按钮等)的情况,可以使用新增的 slot 参数 close,类型为 function(type: string): void,使用者只需要在合适的时机自行调用 close 函数即可,type 默认支持 ok / cancel 并会透传到 before-close 的流程中。例如:

    <veui-dialog :open.sync="dialogOpen" :before-close="submit">
      ...
      <template slot="foot" slot-scope="{ close }"
        ><button @click="close">OK</button></template
      >
    </veui-dialog>
  • [^] Pagination 组件的 redirect 事件回调参数从 ({ page, event }) 调整为 (page, event)

  • [^] 调整 FilterPanel 组件和 Tree 组件的对外接口参数名,统一将 options / option 更名为 items / item

  • [^] 调整 resize 指令的默认每次都触发回调,增加 throttle / debounce / leading 三个 modifier。

  • [^] 通过 prompt manager 以指令式调用输入弹框功能时,现在返回的 Promise 在确认提交与取消时 resolve 的值分别是字符串和 null,与原生全局 prompt 方法一致(原来是 { isOk: true, value }false)。

  • [^] Button 组件加载中的文本修改为默认 slot 的内容。

  • [^] 调整 rule 出错信息变量模板匹配语法从 %{ruleValue} 修为 ${ruleValue},旧语法将在 1.0.0 移除。

  • [^] Alert 组件新增 closable prop,默认为 false,显式指定后才会显示关闭按钮/文本,而非原来的始终显示关闭按钮/文本。

  • [^] Alert 组件的 close-text prop 更名为 close-labelclose-text 将在 1.0.0 移除。

💡 主要变更

  • [+] Uploader 组件增加自定义上传模式。request-mode 新增可选值 custom,设置为该值时,支持通过新增的 prop upload 自定义上传函数。
  • [+] Uploader 组件增加切换动画。
  • [+] Steps 组件的 click 事件回调参数增加原生事件对象 event,现为 (index, event)
  • [+] Overlay 组件浮层根元素上现在增加了对 overlay.overlayClass 全局配置项对应类名的输出。
  • [+] Switch 组件现在会透传与 Checkbox 组件一致的原生 DOM 事件。
  • [+] Toast 组件增加 prop open,支持 .sync
  • [+] Toast 组件增加 slot default
  • [+] Toast 组件增加全局配置 toast.duration

🐞 问题修复

  • [^] 修复了 Uploader 组件 iframe 模式中上传失败后重试时没有上传文件的问题。
  • [^] 修复了 Uploader 组件初始化后丢失 namesrc 以外的自定义属性丢失的问题。
  • [^] 修复了 Overlay 组件中寻找最近父级浮层时,可能跨过太多层级的问题。
  • [^] 修复了 FilterPanel 组件在不展示搜索框的时候,内容区域高度不正确的问题。
  • [^] 修复了 Field 组件内部输入组件交互时数据同步导致校验不正确的问题。
  • [^] 修复了 Tabs 组件使用 label slot 时的事件绑定问题。
  • [^] 修复了 Input 组件父级设置值为 null 后,仅格式化本地值为 '',未同步 '' 至父级的问题。
  • [^] 去除了 Steps 组件的多余外边距。
  • [^] 去除了 Progress 组件多余的内边距。
  • [^] 修正了 Progress 组件的 auto-succeed prop 的逻辑。
  • [^] 修正了 NumberInput 组件的 min / max prop 有时失效的问题。
  • [^] 修正了 Alert 组件多消息导航和关闭按钮不会同时显示的问题。
  • [^] 修正了 alert / confirm / prompt plugin 不能正常工作的问题。
  • [^] 修复了 Table 组件 foot slot 的渲染。

1.0.0-alpha.14

⚠️ 非兼容性变更

  • [^] Progress 组件的 state prop 更名为 statusstate 将在 1.0.0 移除。
  • [^] Schedule 组件的 shortcuts-display prop 值 expand / collapse 分别更名为 inline / popup。旧的值将在 1.0.0 移除。
  • [^] Schedule 组件的 header slot 更名为 header-content,新 header slot 现在包括顶部内容的整个容器。

💡 主要变更

  • [^] RegionPicker 组件的 datasource prop 中的 id 字段重命名为 value,但 id 依然保留,优先使用 value
  • [^] 优化了 outside 指令解析数字值的逻辑。
  • [^] 为 Pagination 组件内的 Select 组件新增了 overlay-class 定义,方便自定义样式。
  • [^] 优化了 SwitchStepsScheduleTableFieldset 等组件的可访问性,实现了键盘交互。

🐞 问题修复

  • [^] 修复了更多在计算浮层层级过程中有时会导致死循环的场景。
  • [^] 去除了 dropdown mixin 中多余的默认 overlay-options 约束条件,修正某些场景下的浮层展开的默认方向。
  • [^] 修复了 Input 组件初始值为 null 时使用输入法会失效的问题。
  • [^] 现在 Searchbox 组件在 suggestions 变化时会自动更新浮层位置。
  • [^] 修复了点击 Label 组件激活同 Field 下的输入组件时,没有考虑组件禁用/只读状态的问题。

1.0.0-alpha.13

⚠️ 非兼容性变更

  • [^] CheckboxSwitch 组件新增 prop model,对应 v-modelchecked prop 不再对应 v-model,而是支持 .sync
  • [^] CheckboxRadioSwitch 组件新增 input 事件用于 v-modelchange 事件参数抛出当前的 checked 值,仅在用户切换时触发。
  • [^] Calendar 组件的 selectstart 事件抛出的参数格式从 [Date] 修改为 Date,表示选择的起始日期,去除多余的数组。
  • [^] 移除 DatePicker 组件的 placeholderBeginplaceholderEnd prop 及相应的 slot placeholder-beginplaceholder-end,以及全局配置 datepicker.placeholderBegindatepicker.placeholderEnd。取而代之的是,增加配置项 datepicker.rangePlaceholder,并总是响应外部设置的 placeholder prop。默认状态下,会根据 range prop 来显示 datepicker.placeholderdatepicker.rangePlaceholder 的值。
  • [^] DatePicker 组件的 date scoped slot 现在会透传给内部的 Calendar 的同名 scoped slot,不再表示已选择日期区域。原来已选择位置的 scoped slot 重命名为 selected,为范围选择时;类型为 Datedate 字段废弃,取而代之的是三个类型为 number 的字段:yearmonth0 表示一月)、date;增加参数字段 position,起止日期分别对应 fromto
  • Carousel 组件的轮播项内容现在完全在 scoped slot item 内部,不再在外部添加行内图片背景样式,方便自定义非图片类型的轮播项。

💡 主要变更

  • [^] veui-loader 支持 webpack 4,resolve 路径逻辑调整为异步。
  • [+] 为 RegionPicker 添加了键盘导航和 WAI-ARIA 支持。
  • [+] BreadcrumbItemLink 组件的 to prop 支持使用 Object 格式(以传递具名路由对象)。
  • [+] DatePicker 组件增加 today prop,和 Calendar 对应 prop 一致。
  • [+] DatePicker 组件的 format prop 现在可以传入函数,签名为 function(Date): string
  • [+] DatePicker 组件的 shortcuts 配置中,to 字段新增默认值 0
  • [+] Input 组件新增 WebKit 自动填充状态的判断,优化样式。
  • [+] Tabs 新增 ui 值 block,并带动画效果。
  • [+] Tab 组件新增 status prop。
  • [^] Tab 组件在路由模式下会自动渲染 <router-view>
  • [*] Tab 组件的 prop to 现在可以使用相对路径。
  • [^] resize 指令底层升级,切换到 resize-detecor,并增加 debounce 优化。
  • [+] RadioGroupCheckboxGroupRadioButtonGroupCheckButtonGroup 组件的默认 scoped slot 参数增加 index 表示选项序号。
  • [^] numeric 校验规则现在禁止多余的 0 开头的字符串值。
  • [^] Select 组件的 scoped slot label 现在作用域绑定到完整的已选中的 options 项,而非 { label }

🐞 问题修复

  • [^] 修复了上一版本中引入的浮层 autofocus 失效的问题。
  • [^] 修复了上一版本中引入的在计算浮层层级过程中有时会导致死循环的问题。
  • [^] 修复了 Textarea 组件初始 valuenull 时的问题。
  • [^] 修复了 Input 组件在 SSR 时报错的问题。
  • [^] input 类型组件的错误状态通过组件数据进行传递,而不仅仅依赖于外层 Fieldclass
  • [^] 修复了 Tab 使用路由模式时设置 name prop 会出错的问题。
  • [^] 修复了 Tableupdate:selected 事件有时未正确抛出的问题。
  • [^] 修复了 Progress 组件 prop 校验的问题。
  • [^] 修复了 OptionGroup 组件未将 disabled 传递给 Option 组件的问题。

1.0.0-alpha.12

⚠️ 非兼容性变更

  • [^] Uploader 组件在 maxCount 的值是 1 的情况下,value 的默认类型从字符串改成对象,可以通过设置 prop compattruevalue 的类型设置为字符串兼容旧版本。compat 模式未来不会移除,但不建议使用。

    迁移指南

    Uploadermax-count1 时的 value prop 数据类型修改为对象,和多文件时的数组项相同。需要兼容原字符串数据格式时,需要设置 compat prop 为 true

    <veui-uploader compat ... />
  • [^] 修改了 Radio 组件的 v-model 语义,现在机制和 Vue.js 对原生 <input type="radio"> 的处理保持一致。

    迁移指南

    此版本前的 Radio 组件的 v-model 对应 checked 属性,但由于之前的版本中存在多个同 nameRadio 组件时,被取消选中的单选框并不会响应数据变化,导致实际 v-model 并不完全可用。新版本在使用 v-model 的场景下修复了这个问题,并把逻辑和 Vue.js 对原生元素的处理方式进行了对齐。

    <veui-radio value="html" name="lang" v-model="lang" />
    <veui-radio value="css" name="lang" v-model="lang" />
    <veui-radio value="javascript" name="lang" v-model="lang" />

    通过将多个 Radio 组件的 v-model 绑定到同一个数据项,即可完成数据的双向绑定。注意,仍然建议使用 name 属性来正确表达分组。这将会影响元素的可访问性。

    同时,更建议使用 RadioGroup 组件来实现单选组,因为它会有更简单的 API 和可访问性。

  • [-] 移除 Input 组件的 type prop 对 textarea 的支持。

    迁移指南

    使用 Textarea 组件进行替代:

    <veui-textarea v-model="value" ... />
  • [^] 将 OptionGroupposition 属性的 popout 值重命名为了 popup(与 aria-haspopup 保持一致)。将在 1.0.0 移除对 popout 的支持。

  • [^] 将 Progress 组件的 precision prop 重命名为和 NumberInput 一致的 decimal-placeprecision 将在 1.0.0 移除。

💡 主要变更

  • [+] babel-plugin-veui 支持在 import 时为组件添加前缀,方便直接使用快捷写法定义组件的 components 选项。默认支持 veui-v- 两种前缀。

    <template>
    <div>
      <veui-button>确定 <v-icon name="check"></veui-button>
    </div>
    </template>
    <script>
    import { VeuiButton, VIcon } from 'veui'
    
    export default {
      name: 'my-component',
      components: {
        VeuiButton,
        VIcon
      }
    }
    </script>
  • [+] NumberInput 新增 max / min prop,优先从直接父组件 Field 的 prop rule 中继承 max / min rule 的值。

  • [+] Input 新增 clearable prop,提供清除输入内容的功能;补充 placeholder prop 对 IE9 的支持。

  • [^] Uploader 组件的事件 successfailureremove 增加参数:当前处理文件的序号。

  • [^] Uploader 组件在重新上传的时候不再触发 remove 事件。

  • [^] 增加了 SelectDropdownCarouselPaginationProgress 等组件的 WAI-ARIA 支持。

🐞 问题修复

  • [^] 修复了 Textarea 触发事件时没有正确处理 this 的问题。
  • [^] 修复了 NumberInput 在只读状态下可以用键盘上下键调整值的问题。
  • [^] 修复了 outside 指令设置 delay 时未清除定时器的问题。
  • [^] 修复了浮层 z-index 未更新完毕就展现造成的闪动问题。

1.0.0-alpha.11

🐞 问题修复

  • [^] 修复了 config/uiTypes.js 命中 npmignore 规则被过滤的问题。

1.0.0-alpha.10

⚠️ 非兼容性变更

  • [^] AlertBox 组件,之前只能通过 ui prop 传递类型信息( success / error / info ),现在和 Toast 保持风格统一,使用 type prop 传递类型信息。

    迁移指南

    对于非如下两种情况的用户,本次变更并不产生影响。

    1. 所有直接使用 AlertBox 的情况下,需要将如 ui="success" 修改为 type="success" 的方式进行指定。

    2. 对于主题包的作者,需要将原来针对如 [ui~="success"] 编写的样式,修改为 .veui-alert-box-success

  • [-] [预告] Input 组件的 type prop 将在下个版本去除对 textarea 的支持,请使用 Textarea 组件代替。

💡 主要变更

  • [+] 新增了 NumberInput 组件。
  • [+] 为 Input 增加了 before / after slot,提供扩展的空间。
  • [+] 为 Select 增加了 filter prop,用来过滤下拉内容。
  • [+] 为 OptionGroup 增加了 position prop,用来指定在弹出菜单中显示。
  • [+] 为 Option 增加了 hidden prop。
  • [+] 为 Overlay 增加了 locate 事件,在位置发生变化时触发(时机为 tetherreposition 事件)。
  • [+] Searchbox 组件增加 suggest-trigger prop,用来指定推荐列表的弹出时机;增加 suggest 事件,当需要显示推荐列表时触发。
  • [+] Fieldrules 中增加 priority 的配置,用来覆盖当前内置的规则优先级。
  • [^] 将 icons mixin 并入 ui
  • [+] 支持配置 ui prop 项的元数据,以支持进一步校验及根据 ui 值配置图标。
  • [^] 将 Progress 组件硬编码在组件代码中的尺寸解耦到 veui-theme-one 中,现在组件可以从主题包的 JS 模块中注入预定义的样式参数。
  • [+] Uploader 组件的 image 模式在图片的遮罩层上增加 scoped-slot extra-operation;在上传项目前后分别增加 file-beforefile-after 两个 scoped slot。
  • [^] Uploader 组件增加 prop order,配置新上传文件的插入顺序。

🐞 问题修复

  • [^] 为 uiTypes 定制了选项合并策略,并修正了 Select 组件在 uiTypes 中声明的 input 被 mixin 中加入的 select 覆盖的问题。
  • [^] 去除了 Link 组件中错误注册组件的代码。
  • [^] 修复了关闭非 modalDialogFocusManager 报错的问题。
  • [^] 修复了 FocusManagertrap 模式下会自动聚焦最后一个元素的问题。
  • [^] 修复了 Textarea 组件在 IE9 下的兼容性问题。
  • [^] 修复了 Field 组件使用 slotclass 判断遗漏的问题。
  • [^] 修复了 pattern / numeric 校验规则的优先级,使 pattern 置于 numeric 之后。
  • [^] 去除了 rule 校验失败信息中包含部分校验成功的无用信息。
  • [^] 去除了 Input 部分过时的 prop。

1.0.0-alpha.9

⚠️ 非兼容性变更

  • [^] 将对 Vue 的依赖更新到 ^2.5.13。这使得使用 scoped slot 时,scope 需要改写为 slot-scope。由于 VEUI 内部已经使用 slot-scope,所以该版本无法与 [email protected] 之前的版本一同使用。

    迁移指南

    请检查项目中所有用到

    <template slot="..." scope="...">...</template>

    的地方,统一替换为:

    <template slot="..." slot-scope="...">...</template>

    同时,由于 [email protected] 修改了 slot 的逻辑,所以当代码中存在使用

    <template slot="..."></template>

    的写法来将 slot 内容置空时,现在会自动使用定义 slot 时备用内容填充而非置空,暂时的方法是使用一个零宽空格(&#8203;)来填充。

💡 主要变更

  • [+] 为 TabsButtonGroupDialogCalendar 等数十个组件增加了键盘导航及 WAI-ARIA 支持。
  • [+] 新增 Slider 组件。
  • [+] 新增 nudge 指令。
  • [+] 新增 OptionGroup 组件。
  • [+] SelectDropdown 组件支持直接组件内嵌写法。
  • [+] SelectDropdown 组件支持键盘导航。

🐞 问题修复

  • [^] 对话框现在可以整体获取焦点,避免点击无焦点区域后接收不到键盘事件的问题。
  • [^] 修正了 PromptBox 默认样式。
  • [^] 修正了 RadioGroup 的聚焦样式。
  • [^] 修复 Textarea 组件在显示行号模式下高度设置的问题。
  • [^] 修复 drag 指令的问题,防止在移动后窗口大小变化后产生的位置错误。
  • [^] 修复了 Pagination 组件在翻页按钮禁用时点击后依然抛出事件的问题。

1.0.0-alpha.8

💡 主要变更

  • [+] 增加了焦点管理模块。
  • [+] Overlay 组件增加 autofocusmodal 两个 prop,分别用来指定浮层是否需要抢占焦点、以及是否将后续焦点移动限制在浮层内。
  • [+] Dialog 组件增加 escapable prop,允许对话框通过按下 esc 键关闭。
  • [+] 为 AlertBoxConfirmBoxPromptBox 增加了键盘交互(#216)。
  • [+] 增加了 Input 组件的 tinymicro 尺寸样式。

🐞 问题修复

  • [^] 修复了 Select 组件下拉菜单展开后自动将选中项滚动到可视范围时可能引起页面滚动的问题。
  • [^] babel-plugin-veuiveui-loader 内不再冗余生成组件列表,组件列表信息随 veui 包发布。

1.0.0-alpha.7

⚠️ 非兼容性变更

  • [^] 将对 [email protected] 的依赖更新为 focus-visible + classlist-polyfill,并且移入了 veui-theme-onedependencies。使用 veui-theme-one 且需兼容 IE9 的项目需要同时引入这两个模块。同时 veui-theme-one 中的 .focus-ring 也均已升级为 .focus-visible

    迁移指南

    • 在主模块中删除 `import 'wicg-focus-ring';

    • 安装上述包后,将引入语句替换为:

      import 'classlist-polyfill'
      import 'focus-visible'
  • [^] 去除了 veui-theme-oneAlert 组件默认的上下 margin

  • [^] Column 组件的 scoped slot headfoot 现在变更为 slot。

  • [-] 删除 veui-theme-dux

  • [-] 删除 Field 组件 prop rules 默认可选表单校验规则 maxByteminByte

💡 主要变更

  • [+] 新增 Textarea 组件。
  • [+] Column 组件新增 prop span,用来指定行/列方向合并单元格的逻辑。
  • [^] Column 组件的默认 scoped slot 传入的参数现在会将列表项的数据展开,不需要多加一层 item 进行访问(与其它类似数据源的组件一致,需注意数据源对象中不能使用 item / index 作为属性名)。
  • [+] Table 组件新增 prop key-field,指明用哪一个 field 作为表格数据的键。当 Tableselectable 时,可以用来指定选择列纵向合并单元格的逻辑需要参照的列,以及选择逻辑返回的值来自哪一列。
  • [+] 优化 Column 组件注册到 Table 的逻辑,支持在模板中通过 v-forv-if 等动态配置,并且将注册过程移入 created 生命周期以支持服务端渲染。
  • [^] Breadcrumb 组件 routes 数据项的文本域重命名为 label,保留了 text 的用法进行兼容。
  • [+] Uploader 组件增加 statuschange 事件,用于表单提交的时候校验是否还有文件正在上传或上传失败。
  • [+] Uploader 组件增加 prop data-type,用于指明回调的内容的格式。
  • [+] Uploader 组件 prop name 现在有默认值 file
  • [+] Field 组件优化交互式校验规则显示顺序。
  • [+] Field prop rules 校验规则的出错消息支持传入函数。
  • [^] Select 组件被选中的选项现在会在浮层展开时自动滚动到可视范围。

🐞 问题修复

  • [^] 修复 Schedule 组件状态未与 selected prop 同步的问题。
  • [^] 修复 Tabs 组件在仅指定 active 时会导致无法切换的问题。
  • [^] 修复 Tooltip 组件在 target 变化时会自动显示的问题。
  • [^] Uploader 组件的 value 不再包含正在上传中或上传失败的文件,不再包含 status等内部变量。
  • [^] 修复 Uploader 组件 accept prop 判断后缀的错误。
  • [^] 修复 resize 指令在 target 元素被移动过后丢失目标 document 的问题。
  • [^] 修复大小比较规则的提示信息。
  • [^] 修复使用 Popper 风格设置浮层 position 时解析不正确的问题。

1.0.0-alpha.6

🐞 问题修复

  • [^] 修复 RegionPicker 末层数据项禁用不生效的问题。
  • [^] 修复 Tabs 组件样式,解耦硬编码的图标,优化内容溢出更新视图的计算逻辑。
  • [^] 修复全局配置无法读取函数配置项的问题。
  • [^] 修复全局浮层管理模块计算 zIndex 错误的问题。

1.0.0-alpha.5

⚠️ 非兼容性变更

  • [^] 为 Select 用名为 option-label 的 scoped slot 替代了原来的 option。原来的 option 现在为整个选项的内容,包括文本和图标等。

💡 主要变更

  • [+] 新增 resize 指令。
  • [^] Tabs 组件中的 Tab 元素不再需要强制配置 name prop。
  • [+] Alert 组件显示多条消息时,增加当前消息索引/总消息数的展示。
  • [^] 调整 Alert 组件默认 slot 范围,同时新增默认 scoped slot。
  • [+] RegionPicker 组件支持数据项的禁用。

🐞 问题修复

  • [^] 修复 Tabs 组件中 Tab 元素的渲染顺序和 prop 同步问题。
  • [^] 修复 Searchbox 组件在按 enter 后自动触发表单提交的问题。
  • [^] 修复 Overlay 组件中判断组件类型错误的问题。
  • [^] Calendar 组件在时间段选择过程中,如果 selected 发生变更,现在会自动清除半选状态。
  • [^] 修复 veui-loader 在 Windows 下生成路径错误的问题。
  • [^] 修复 Uploader 组件文件名没有去掉 fakepath 前缀的问题。
  • [^] 修复 Uploader 组件没有正确使用 name prop 的问题。

1.0.0-alpha.4

⚠️ 非兼容性变更

  • [^] 重构了 babel-plugin-veuiveui-loader 的逻辑,以支持服务端渲染时首屏样式的抽取。

    迁移指南

    • 删除 build/vue-loader.conf.jspreLoaders 中的 veui-loader 配置;

    • .babelrc 中的 veui 插件配置删除,整个只保留字符串 'veui'

    • build/webpack.base.conf.js 中,重新配置 veui-loader

    {
      test: /\.vue$/,
      loader: 'veui-loader',
      enforce: 'pre',
      options: {
        modules: [
          {
            package: 'veui-theme-one',
            fileName: '${module}.less'
          },
          {
            package: 'veui-theme-one',
            fileName: '${module}.js',
            transform: false
          }
        ]
      },
      include: [resolve('veui'), resolve('vue-awesome')]
    }
  • [^] 将 Pager 组件重命名为 Pagination。暂时保留兼容,Pager 将在 1.0.0 移除。

🐞 问题修复

  • [^] 修正了 Carousel 组件 slot 的位置。

1.0.0-alpha.3

🐞 问题修复

  • [^] 统一所有内部依赖版本。

1.0.0-alpha.2

🐞 问题修复

  • [^] 修复主题包 peerDependencies 中的 veui 版本号。

1.0.0-alpha.1

⚠️ 非兼容性变更

  • [^] 主题包 veui-theme-x 重命名为正式名称 veui-theme-one

💡 主要变更

  • [+] 新增 Tree 组件。
  • [+] 新增 FilterPanel 组件。
  • [+] 新增 Transfer 组件。
  • [+] 新增 Schedule 组件。
  • [+] 为 babel-plugin-veui 增加了类似 babel-plugin-lodash 的功能,以减小打包体积。
  • [+] Tabs 组件支持在传入的 slot 内容中动态切换内部的 Tab 元素,增加预设的添加删除按钮。
  • [+] outside 指令新增 excludeSelf 参数,使判断仅对 refs 生效。
  • [+] outside 指令新增 mousedownmouseup 的支持。
  • [+] Tooltip 组件新增 interactive prop,控制浮层是否可交互。
  • [+] Calendar 组件新增 scoped slot date

🐞 问题修复

  • [^] 修复 Calendar 组件在选择范围时错误切换视图的问题。
  • [^] CheckboxRadio 组件现在可以在未绑定数据时进行交互。
  • [^] 修复 Chrome 62 起给按钮默认添加圆角的问题。

0.3.3

⚠️ 非兼容性变更

  • [^] Uploader 本地校验失败的 slot 名修改为 type-invalidsize-invalid

💡 主要变更

  • [+] config 模块支持对对象配置的 mergemergeDefaults 操作。
  • [+] 为调用了 Overlay 组件的元素增加了指定 overlay-options 的功能。
  • [+] 新增了 Carousel 组件。

🐞 问题修复

  • [^] 修复 config 模块参数重载错误的问题。
  • [^] 修复 Uploader 禁用 input 导致上传失败的问题。
  • [^] 修复了 RegionPicker 浮层有时会闪动的问题。

0.3.2

🐞 问题修复

  • [^] 修正 Calendar 单元格的文字颜色、背景色相关样式。
  • [^] 修复上个版本完善 outside 指令时引入的问题。

0.3.1

💡 主要变更

  • [+] Tooltip 增加延时隐藏的 prop hide-delay

🐞 问题修复

  • [^] 修复不引入 ButtonGroup 时,CheckButtonGroupRadioButtonGroup 部分样式丢失的问题。

0.3.0

⚠️ 非兼容性变更

  • [^] 规范化所有公用组件文件名、组件 name、组件 DOM 容器 class 的命名规则,所有非首位的大写字母在转换为小写后增加 - 进行分隔。修改清单见 #122
  • [-] 移除了 BreadCrumb 组件的 prop routers
  • [^] Pager 组件 to 默认值修改为 ''(空字符串),以进入 Link 的无跳转逻辑。
  • [-] 移除了 Pager 组件的 prop pageTotal
  • [^] Radiobox 组件重命名为 Radio
  • [^] RadioboxGroup 组件重命名为 RadioGroup
  • [^] Button 组件的 aux 风格 ui 现在是默认样式,原有的默认样式更名为 secondary
  • [^] 为组件支持了 :focus-ring 的 polyfill,需要使用方自行引入。详见 #121
  • [^] 优化了 Uploader 组件的部分 prop、slot 的命名。详见 #133
  • [^] Uploader 的 prop accept 现在需要按规范书写,。详见此处

💡 主要变更

  • [+] 增加了统一 UI 样式包,暂定名 veui-theme-x
  • [^] 将所有图标移入样式包分别管理。
  • [+] Uploader 的 prop maxSize 现在支持形如 '100KB' 的字符串作为值。
  • [+] 为 Table 增加 select-mode prop,用于提供单选模式。
  • [+] 增加 ButtonGroup 组件。
  • [+] 增加 RadioButtonGroup 组件。
  • [+] 增加 CheckButtonGroup 组件。
  • [+] 增加 Sorter 组件。
  • [+] 增加 Progress 组件(限 theme-x)。
  • [+] 所有有单一浮层逻辑的组件,新增 prop overlay-class,最终渲染到 Overlay 实例的 DOM class 上,方便外部区分浮层归属。

🐞 问题修复

  • [^] 修复 RegionPicker 浮层在特殊情况下显示上的问题。
  • [^] 修复 Dropdownuilink 时的样式。

0.2.4

⚠️ 非兼容性变更

  • [^] Table 组件的 select 事件将在 selected prop 更新后触发,select 事件在全选时增加 null 值作为当前选择项的数据,参数列表修改为和单选时一致。

💡 主要变更

  • [+] 增加 veui-loader,确保只在 Webpack 能够 resolve 样式文件时 babel-plugin-veui 才注入样式 import 语句。
  • [^] 改善 ButtonTable 组件的样式。
  • [+] 为 Link 组件增加 fallback prop,用于指定无链接时渲染的容器标签名。
  • [+] 为 Steps 添加路由支持。
  • [^] Select 组件选项值现在支持 ''(空字符串)或 0
  • [+] 为 Select 组件添加未命名分组样式。
  • [+] 为 Switch 组件增加描述及默认 slot。
  • [+] 为 Searchbox 组件增加 clearable prop,suggestions scoped slot 以及 select 事件,suggestions 支持字符串数组。

🐞 问题修复

  • [^] 修正 indeterminate 状态 Checkbox 的浏览器兼容性。
  • [^] 修正 RegionPicker 无法响应外部 selected 变化的问题。

0.2.3

🐞 问题修复

  • [^] 修复 0.2.2 版本 npm 包的问题。

0.2.2

⚠️ 非兼容性变更

  • [^] SearchBox 重命名为 Searchbox

💡 主要变更

  • [+] 增加 $alert$confirm$prompt 插件。
  • [+] 增加 RegionPicker 组件。
  • [+] 增加 Steps 组件。
  • [^] 去除 BreadcrumbTableTabs 中对 Vue 内部函数的依赖。
  • [+] 为 Overlay 组件增加 open.sync 支持。

🐞 问题修复

  • [^] 修复 outside 指令重复添加事件绑定的问题。
  • [^] 修复 Calendar 组件年份选择视图前后选择不正确的问题。

0.2.1

💡 主要变更

  • [+] 增加了 SearchBox 组件。
  • [+] 为 Select 组件增加了 clearable prop,可以根据 placeholder 生成首选项以清除之前的选择。
  • [^] 优化了 Button 中元素的对齐方式。
  • [+] 增加了 Pager 每页显示数和默认选项的全局配置。
  • [^] 重命名 Pagerpage-total prop 为 total,旧名称仍然兼容,未来版本可能删除。

🐞 问题修复

  • [^] 修复 Select 组件有分组时子选项无法正常选择的问题。
  • [^] 修复了 Tooltip 组件在循环中绑定 target 的问题。
  • [^] 修复了 Table 组件 slot no-data 失效的问题。
  • [^] 修复了 Table 组件在选择时会修改未添加 .syncselected prop 的问题。
  • [+] 修复了 Pager 在没有数据时下一页按钮没有禁用的问题。

0.2.0

💡 主要变更

  • [^] 项目转为 mono-repo 的组织方式,使用 lerna 进行管理。
  • [+] 将样式代码独立为单独的包 veui-theme-dux
  • [+] 使用 babel-plugin-veui 识别、改写对组件的引用,无缝引入可配置的样式文件包。
  • [+] 增加 FormFieldFieldset 组件。
  • [^] 根据表单逻辑修改了输入型控件 disabled / readonly 的实际生效方式,最终生效的值更改为计算属性 realDisalbed / realReadonly
  • [+] 增加 TabsTab 组件。
  • [+] 增加 Switch 组件。
  • [^] Checkbox 新增 true-valuefalse-value prop,调整相应逻辑。
  • [+] 增加指令式调用 alert / confirm / prompt 的功能。
  • [^] Pager 组件新增 pageSizes prop,用来指定可选的页数。

0.1.3

💡 主要变更

  • [^] 将 BreadCrumb 组件的 routers prop 重命名为 routes,后续版本会将 routers 移除。
  • [^] 小幅重构 Table 组件代码。

🐞 问题修复

  • [^] 修复 Icon 组件嵌套失效的问题。
  • [^] 修正 Table 组件样式中行高不准确的问题。