Skip to content

v0.4.0

Choose a tag to compare

@z-ZYS-s z-ZYS-s released this 14 May 02:58
· 279 commits to master since this release

✨ 新特性:

  • 新增 ERipple
  • 新增 UNavbarMenu, UNavbarSelect
  • 新增 UTable, UTableView
  • 新增 MPubSub
  • 新增 UComboPagination
  • 在每个事件中增加了第二个参数senderVM。比如@select="onSelect",onSelect 会有两个参数:$event 和 senderVM
  • UInput 添加clearable属性
  • 添加 Clipboard Utils

⚡️ 增强:

  • UListView、USelect 键盘上下移动变为不是立即选择的方式
  • 对 UCheckbox 和 URadio 的样式做了一些优化

💩 废弃:

  • 移除了composes这个反人类的 CSS 功能
  • 移除 Checkbox0 和 Radio0,放在了 vanilla-ui 库里了

💥 非兼容性更新:

代码结构相关

  • 组件路径做了更改,由src/u-xxx.vue改为src/components/u-xxx.vue
    【原因】1. 已经有部分directivesutils比较复杂了,组件库的功能包含了更多内容,将组件放在一个目录下更为清晰。2. src/components的目录可以与日常项目路径保持同步。
    【迁移事项】对于单独继承 ProtoUI 的组件需要替换路径。比如:import XXX from 'proto-ui.vusion/src/u-xxx.vue@import 'proto-ui.vusion/src/u-xxx.vue/module.css,后面 CSS 的这种路径可以改成简写形式@extend;
    【问题排查】编译阶段即可发现
  • 组件命名做了整体更改。
    【原因】1. 类似 components: { UXXX } 中直接使用比较方便,以前需要写个mapComponents。组件重命名的时候也比较方便,如import { UCheckbox2 as UCheckbox } from 'xxx'。3. 组件种类较多,目前已经有一些扩展类和图标类的组件了。
    【迁移事项】原来 import XXX from default 的组件不会受影响,import { XXX } from exports 的组件需要变更为 UXXX。不影响模板中标签的使用。
    【问题排查】编译阶段即可发现
  • 父子组件引入方式。现在将u-xxx-item.vue变为u-xxx.vue中的item.vue。并用 export { UXXXItem } 导出。
    【原因】1. 部分父组件的子组件已经很多了,会导致components目录过于冗长,同时引入时需要引入多个子组件,很累啊。。2. 同时解决了 CSSModules 父组件控制子组件的样式问题,废除了烦琐的composes方法。
    【迁移事项】依然是继承时的路径问题。同时引入的 import 命名需要修改成import { UXXX } from 'xxx';
    【问题排查】编译阶段

组件相关

  • MPopper 的修改,UPopup 和 UTooltip 同样。以前的这种使用结构
    <u-popper>
        <u-button>xxx</u-button>
        <div slot="popper">xxx</div>
    </u-popper>
    改为
    <u-button>xxx
        <m-popper>xxx</m-popper>
    </u-button>
    【原因】1. 添加弹出层时,会影响到原来组件的层级结构。比如<u-tooltip>要套一层,是很蛋疼。2. <u-popper>使用的是 render slot default 的输出方式,可能会对内部比较复杂的组件有意料之外的影响。
    【迁移事项】需要搜索所有在模板中使用<u-popper>的组件进行替换
    【问题排查】需要人肉走查,不过<u-popper>使用率不高,修改方便
  • MPopper 的open属性重命名为opened,UPopup、UTooltip、USelect 等同样。
    【原因】有些组件有 open 方法,和属性名会有冲突。虽然在英文中openopened用得更广泛,但没有更好的办法了。
    【迁移事项】需要搜索所有在代码用中使用opencurrentOpen字段,逐个替换。
    【问题排查】需要人肉走查。可能有一定风险
  • 将 USidebar, UNavbar, UMenu, UPagination, USteps, UTabs, UCrumb, UListView, UCarousel 组件中的 <ul><li>改为<nav><a>
    【原因】1. 原来的<li>没有链接的一些特性,比如 hover 时浏览器有链接提示、右键打开新页面等。2. li 经常要进行清除样式。
    【迁移事项】无需做任何事
    【问题排查】Review 一下<a>中有<a>的情况,会不会产生问题。
  • 将 USuggest, UMultiSelect 合并入 USelect 中,增加了auto-complete属性
    【原因】这几个组件有一些重叠的功能,合并在一起比较好一些
    【迁移事项】如果有用<u-suggest>,将它替换为<u-select filterable>,要注意的是,要注意的是,在使用fiterable的情况下,新的 USelect 只支持用data属性传入数据。
    【问题排查】需要人肉走查。可能有一定风险
  • USelect 添加了placeholder属性,默认不会选择第一项了。
    【原因】为了支持上面的统一,不得不将placeholder功能提出来
    【迁移事项】将原来的<u-select-item>请选择</u-select-item>删掉,改为<u-select placeholder="请选择">,也可以不填这个属性使用默认值。
    【问题排查】基本没有问题。
  • USelect 和 UListView 的 data-source 部分有重构,做了一部分简化,需要认真阅读文档
    【原因】原来的 data-source 功能不完善,做了升级
    【迁移事项】查找 data-source 属性,对照文档做相应的更改
    【问题排查】需要人肉走查。可能有一定的风险
  • USingleChoices 和 USingleChoice 改为 MSinglex 和 USinglexItem,对功能进一步做了一些完善
    【原因】作为 Mixin 原来的名字有点长
    【迁移事项】做名字替换
    【问题排查】API没有改动,风险较小