babel-plugin-veui
Advanced tools
Changelog
1.0.0-alpha.11
config/uiTypes.js
命中 npmignore
规则被过滤的问题。<!-- #veui -->Changelog
1.0.0-alpha.10
[^] AlertBox
组件,之前只能通过 ui
属性传递类型信息( success
/ error
/ info
),现在和 Toast
保持风格统一,使用 type
属性传递类型信息。<!-- #AlertBox -->
迁移指南
对于非如下两种情况的用户,本次变更并不产生影响。
所有直接使用
AlertBox
的情况下,需要将如ui="success"
修改为type="success"
的方式进行指定。对于主题包的作者,需要将原来针对如
[ui~="success"]
编写的样式,修改为.veui-alert-box-success
。
[-] [预告] Input
组件的 type
属性将在下个版本去除对 textarea
的支持,请使用 Textarea
组件代替。<!-- #Input -->
NumberInput
组件。<!-- #NumberInput -->Input
增加了 before
/ after
插槽,提供扩展的空间。<!-- #Input -->Select
增加了 filter
属性,用来过滤下拉内容。<!-- #Select -->OptionGroup
增加了 position
属性,用来指定在弹出菜单中显示。<!-- #OptionGroup -->Option
增加了 hidden
属性。<!-- #Option -->Overlay
增加了 locate
事件,在位置发生变化时触发(时机为 tether
的 reposition
事件)。<!-- #Overlay -->Searchbox
组件增加 suggest-trigger
属性,用来指定推荐列表的弹出时机;增加 suggest
事件,当需要显示推荐列表时触发。<!-- #SearchBox -->Field
的 rules
中增加 priority
的配置,用来覆盖当前内置的规则优先级。<!-- #Field -->icons
mixin 并入 ui
。<!-- #veui -->ui
属性项的元数据,以支持进一步校验及根据 ui
值配置图标。<!-- #veui -->Progress
组件硬编码在组件代码中的尺寸解耦到 veui-theme-one
中,现在组件可以从主题包的 JS 模块中注入预定义的样式参数。<!-- #Progress -->Uploader
组件的 image
模式在图片的遮罩层上增加作用域插槽 extra-operation
;在上传项目前后分别增加 file-before
和 file-after
两个作用域插槽。<!-- #Uploader -->Uploader
组件增加属性 order
,配置新上传文件的插入顺序。<!-- #Uploader -->uiTypes
定制了选项合并策略,并修正了 Select
组件在 uiTypes
中声明的 input
被 mixin 中加入的 select
覆盖的问题。<!-- #Select -->Link
组件中错误注册组件的代码。<!-- #Link -->modal
的 Dialog
时 FocusManager
报错的问题。<!-- #Dialog -->FocusManager
在 trap
模式下会自动聚焦最后一个元素的问题。<!-- #veui -->Textarea
组件在 IE9 下的兼容性问题。<!-- #Textarea -->Field
组件使用插槽时 class
判断遗漏的问题。<!-- #Field -->pattern
/ numeric
校验规则的优先级,使 pattern
置于 numeric
之后。<!-- #veui -->rule
校验失败信息中包含部分校验成功的无用信息。<!-- #veui -->Input
部分过时的属性。<!-- #Input -->Changelog
1.0.0-alpha.9
[^] 将对 Vue 的依赖更新到 ^2.5.13
。这使得使用作用域插槽时,scope
需要改写为 slot-scope
。由于 VEUI 内部已经使用 slot-scope
,所以该版本无法与 vue@2.5.0
之前的版本一同使用。<!-- #veui -->
迁移指南
请检查项目中所有用到
<template slot="..." scope="...">...</template>
的地方,统一替换为:
<template slot="..." slot-scope="...">...</template>
同时,由于
vue@2.5.3
修改了插槽的逻辑,所以当代码中存在使用<template slot="..."></template>
的写法来将插槽内容置空时,现在会自动使用定义插槽时备用内容填充而非置空,暂时的方法是使用一个零宽空格(
​
)来填充。
Tabs
、ButtonGroup
、Dialog
、Calendar
等数十个组件增加了键盘导航及 WAI-ARIA 支持。<!-- #AlertBox #Breadcrumb #ButtonGroup #Calendar #CheckButtonGroup #CheckboxGroup #ConfirmBox #DatePicker #Dialog #PromptBox #RadioButtonGroup #RadioGroup #Tab #Tabs -->Slider
组件。<!-- #Slider -->nudge
指令。<!-- #v-nudge -->OptionGroup
组件。<!-- #OptionGroup -->Select
、Dropdown
组件支持直接组件内嵌写法。<!-- #Select #Dropdown -->Select
、Dropdown
组件支持键盘导航。<!-- #Select #Dropdown -->PromptBox
默认样式。<!-- #PromptBox -->RadioGroup
的聚焦样式。<!-- #RadioGroup -->Textarea
组件在显示行号模式下高度设置的问题。<!-- #Textarea -->drag
指令的问题,防止在移动后窗口大小变化后产生的位置错误。<!-- #v-drag -->Pagination
组件在翻页按钮禁用时点击后依然抛出事件的问题。<!-- #Pagination -->Changelog
1.0.0-alpha.8
Overlay
组件增加 autofocus
和 modal
两个属性,分别用来指定浮层是否需要抢占焦点、以及是否将后续焦点移动限制在浮层内。<!-- #Overlay -->Dialog
组件增加 escapable
属性,允许对话框通过按下 <kbd>esc</kbd> 键关闭。<!-- #Dialog -->AlertBox
、ConfirmBox
、PromptBox
增加了键盘交互(#216)。<!-- #AlertBox #ConfirmBox #PromptBox -->Input
组件的 tiny
及 micro
尺寸样式。<!-- #Input -->Select
组件下拉菜单展开后自动将选中项滚动到可视范围时可能引起页面滚动的问题。<!-- #Select -->babel-plugin-veui
及 veui-loader
内不再冗余生成组件列表,组件列表信息随 veui
包发布。<!-- #babel-plugin-veui #veui-loader #veui -->Changelog
1.0.0-alpha.7
[^] 将对 wicg-focus-ring@2.x
的依赖更新为 focus-visible
+ classlist-polyfill
,并且移入了 veui-theme-one
的 dependencies
。使用 veui-theme-one
且需兼容 IE9 的项目需要同时引入这两个模块。同时 veui-theme-one
中的 .focus-ring
也均已升级为 .focus-visible
。<!-- #veui-theme-one -->
迁移指南
在主模块中删除 `import 'wicg-focus-ring';
安装上述包后,将引入语句替换为:
import 'classlist-polyfill' import 'focus-visible'
[^] 去除了 veui-theme-one
中 Alert
组件默认的上下 margin
。<!-- #veui-theme-one -->
[^] Column
组件的作用域插槽 head
和 foot
现在变更为插槽。<!-- #Column -->
[-] 删除 veui-theme-dux
。<!-- #veui-theme-dux -->
[-] 删除 Field
组件属性 rules
默认可选表单校验规则 maxByte
和 minByte
。<!-- #Field -->
Textarea
组件。<!-- #Textarea -->Column
组件新增属性 span
,用来指定行/列方向合并单元格的逻辑。<!-- #Column -->Column
组件的默认作用域插槽传入的属性现在会将列表项的数据展开,不需要多加一层 item
进行访问(与其它类似数据源的组件一致,需注意数据源对象中不能使用 item
/ index
作为属性名)。<!-- #Column -->Table
组件新增属性 key-field
,指明用哪一个 field 作为表格数据的键。当 Table
为 selectable
时,可以用来指定选择列纵向合并单元格的逻辑需要参照的列,以及选择逻辑返回的值来自哪一列。<!-- #Table -->Column
组件注册到 Table
的逻辑,支持在模板中通过 v-for
、v-if
等动态配置,并且将注册过程移入 created
生命周期以支持服务端渲染。<!-- #Column -->Breadcrumb
组件 routes
数据项的文本域重命名为 label
,保留了 text
的用法进行兼容。<!-- #Breadcrumb -->Uploader
组件增加 statuschange
事件,用于表单提交的时候校验是否还有文件正在上传或上传失败。<!-- #Uploader -->Uploader
组件增加属性 data-type
,用于指明回调的内容的格式。<!-- #Uploader -->Uploader
组件属性 name
现在有默认值 file
。<!-- #Uploader -->Field
组件优化交互式校验规则显示顺序。<!-- #Field -->Field
组件的 rules
属性校验规则的出错消息支持传入函数。<!-- #Field -->Select
组件被选中的选项现在会在浮层展开时自动滚动到可视范围。<!-- #Select -->Schedule
组件状态未与 selected
属性同步的问题。<!-- #Schedule -->Tabs
组件在仅指定 active
时会导致无法切换的问题。<!-- #Tabs -->Tooltip
组件在 target
变化时会自动显示的问题。<!-- #Tooltip -->Uploader
组件的 value
不再包含正在上传中或上传失败的文件,不再包含 status
等内部变量。<!-- #Uploader -->Uploader
组件 accept
属性判断后缀的错误。<!-- #Uploader -->resize
指令在 target
元素被移动过后丢失目标 document
的问题。<!-- #v-resize -->position
时解析不正确的问题。<!-- #veui -->Changelog
1.0.0-alpha.6
RegionPicker
末层数据项禁用不生效的问题。<!-- #RegionPicker -->Tabs
组件样式,解耦硬编码的图标,优化内容溢出更新视图的计算逻辑。<!-- #Tabs -->zIndex
错误的问题。<!-- #veui -->Changelog
1.0.0-alpha.5
Select
用名为 option-label
的作用域插槽替代了原来的 option
。原来的 option
现在为整个选项的内容,包括文本和图标等。<!-- #Select -->resize
指令。<!-- #v-resize -->Tabs
组件中的 Tab
元素不再需要强制配置 name
属性。<!-- #Tabs #Tab -->Alert
组件显示多条消息时,增加当前消息索引/总消息数的展示。<!-- #Alert -->Alert
组件默认插槽范围,同时新增默认作用域插槽。<!-- #Alert -->RegionPicker
组件支持数据项的禁用。<!-- #RegionPicker -->Tabs
组件中 Tab
元素的渲染顺序和属性同步问题。<!-- #Tabs -->Searchbox
组件在按 <kbd>enter</kbd> 后自动触发表单提交的问题。<!-- #SearchBox -->Overlay
组件中判断组件类型错误的问题。<!-- #Overlay -->Calendar
组件在时间段选择过程中,如果 selected
发生变更,现在会自动清除半选状态。<!-- #Calendar -->veui-loader
在 Windows 下生成路径错误的问题。<!-- #veui-loader -->Uploader
组件文件名没有去掉 fakepath
前缀的问题。<!-- #Uploader -->Uploader
组件没有正确使用 name
属性的问题。<!-- #Uploader -->Changelog
1.0.0-alpha.4
[^] 重构了 babel-plugin-veui
及 veui-loader
的逻辑,以支持服务端渲染时首屏样式的抽取。<!-- #babel-plugin-veui #veui-loader -->
迁移指南
删除
build/vue-loader.conf.js
中preLoaders
中的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
组件插槽的位置。<!-- #Carousel -->