在正面说,这不仅是对3.0的介绍,而且是改变设计和逻辑的原因。如果您正在开发自己的组件库,则希望为您提供帮助。
没错,她在这里3.0、3.0是一个杂音,她比2大1,但她是如此神奇,比4个不是太惊人,不!(⊙o⊙)...
V2版本似乎没有发布。为什么直接转移到V3?主要原因是:
在3.0中更新了什么?我想从源代码级别,功能级别,易于 - 使用级别和性能级别进行解释。
使用TS +组成API进行重建。目前,只有一个非常不同的组件仍在使用选项API。我们将逐渐重建它,但是这些组件不会在循环中进行更新,因此不必担心未来的升级成本。在Volar的情况下,您将获得更好的提示类型。我必须说VUE 3在TS中有了很大的改善,但是仍然有一些缺点。对于组件库而言,强烈的身体感觉是VUE 3源代码类型的高复杂性。需要不友好。这三个问题有一些解决方案,但其中三个是合并的。我们仍然没有找到一个很好的平衡点来调节它。当然,我们不在ts中 - 如果您更擅长,欢迎您加入我们,并为VUE 3生态系统做出贡献,并为您的力量做出贡献。
目前,组件属性的类型定义方案是将道具分别定义为函数。例如:
这样,我们同时被出口。前者通常用于其他组件或用户的第二个包装组件,而后者通常使用用户编写业务代码。至于为什么前者是函数返回,它涉及一个参考类型默认值的问题。这是vue 2 ERA中经典访谈问题的相同原因,数据由数据定义以返回函数。,可以将其视为重复使用的目的。如果您有更好的建议,欢迎通过PR讨论,您可以从简单的组件开始。
在简单的句子中,ANTD 4.x的功能同步:
1.自定义时间库,使用dayjs作为默认时间库,提供MOMMJS,DATE-FNS快速切换功能
2.树,Treeselect支撑虚拟滚动,桌子支撑表一起
3.更好的黑暗主题
4.更好的障碍 - 无援助
5.支持RTL,除了少量未经修饰的组件外,不支持它,将其添加到官方版本之前
6.在CSS变量的官方版本之前添加
不再描述更多细节。
ANTD经历了默认和良好的外观,并且一直在追求默认用途,但是容易包含强大的功能和简单的API。这两个是矛盾的存在。应该说,我们一直在探索它们之间的平衡。如何在扩展更多功能时使API轻松使用。
这次,自定义渲染的自定义渲染过程中的API主要更改。我们以表作为示例,
渲染结果如下:
这很简单,正确,但是王·埃古(Wang Ergu)是富裕的第二代,拥有数亿资产和我们的VIP客户。老板期望这类客户的特殊标签。
当然,在VUE中,您仍然可以以相同的方式进行配置,前提是模板语法可以使用vue-jsx语法或手写渲染函数,但是模板语法将为我们提供更好的性能,比反应更好。在模板中,在1.x和2.x版本中,我们同意规则是通过列中的插槽配置带有“任意”名称的插槽:
看来没有问题。确实,这种方法陪伴了我们很多年。似乎每个人都已经习惯了这种配置方法,但是经过很长时间的重量,我们仍然决定打破这个舒适圈。这种API的方法。他有两个缺点:
1.配置扩展。如果需要自定义每个列,则需要在列中配置插槽,并相应地在模板上提供相应的插槽。
2.最重要的问题。他有很大的风险,我们不能限制用户的用户定义插槽的名称。
实际上,在第一句话中,我们提供了a table列的方法来构建配置。此方法不需要配置插槽,但是我们不推动此方法:
原因是我个人觉得哥伦布斯比A桌列更直观。
第二个原因是列的形式。与A桌列的性能相比,实际上,A台式列的内部仍将转换为列。当前有两种转换方法。第二个是在征用子道之后,并将父部分告诉子组件信息。这里还有一个令人恶心的点,即子组件的位置在父组件中索引。我不会开发该指数的构建方法;此外,以上两种方法实际上使用了非vue文档api.of.of。,因为大多数用户选择列,我们希望减少使用columbs使表更有用的困难。
因此,3.0,我们放弃了列的配置。插槽,但提供了统一的自定义导出。新的API优化代码如下:如下:
在插槽中没有必要。组件的内部将自动退回到默认值(Wang er Egg)。正如我之前说的那样,当我们添加一个新插槽时,会有与您冲突冲突的风险。我希望您希望青年人没有Bodycell的名字。另外,这是一个新插槽。我认为这可能不是那么巧合。
相同的逻辑,我们优化了树和Trelet自定义标题的逻辑,不再需要通过Treedata数据源中的插槽配置自定义插槽,而是均匀地接管了。卡自定义标签不再需要配置自定义插槽通过小型数据源中的插槽配置,但要接管。
1. FormItem使用提供/注入而不是clonelement来减少渲染数并提高表单的性能
2.废物treenode,treetElectNode被Treedata属性替换
3.在2.x版本中,选择,自动完成支持虚拟滚动。在3.0中,我们添加了树和Treeselect组件以支持虚拟滚动。您可以轻松地应对大数据渲染。
4.优化许多其他用户的内部性能
为什么表不支持虚拟滚动?两个原因:破坏性更新和成本问题
如果您想支持完美的虚拟滚动,将会有很多费用。请注意,这是一个全面的虚拟滚动,而不是简单的列表。我们必须支持一系列问题,例如固定的列,合并,扩展,子字体等。开发成本不少于一组组件库。这就是为什么MUI(以前称为材料UI 70,000以上的星星开源项目)专门招募全日制人员来维护虚拟表组件。
尽管您在ANTD React版本文档中有一个虚拟滚动示例,但它是一个简单的虚拟滚动示例,借助第三部分组件。您可以尝试在ANTD React版本的问题版本下搜索关键字。
对于表格,我们还将推出独立产品以解决大数据显示问题。第一版不应该让所有人等待太久。如果顺利,我们将在过去一个或两个月中与您见面。请期待它!我们将及时通过公共帐户发出通知。
对于这一部分,有很多干货,我还将与Vue特别会议(免费,您也会出现)在10.23提前分享。每个人都可以注意它。