PrimeVue v4 的迁移指南。
在 PrimeTek,自 2008 年以来,我们一直在开发 UI 组件库。Web 技术不断进步,因此,我们必须对库进行现代化和更新,以保持相关性。PrimeVue v4 是下一代版本,它完全拥抱现代 Web API,并消除了像传统样式模式这样的技术债务。每个组件都经过了审查和增强。作为我们对产品和社区承诺的一部分,PrimeVue v3 将继续维护到 2024 年底。
最值得注意的功能是新的样式模式实现。之前的迭代在名为primevue-sass-theme的外部仓库中使用 SASS,这需要编译一个theme.css文件。此文件必须包含在应用程序中,并且需要在运行时进行交换,以执行暗模式或主颜色更改等基本任务。在 v4 中,样式模式现在是核心的一部分,根本不使用 SASS,并且创建了一个基于新设计令牌的架构,该架构充分利用了 CSS 变量。新的 API 比传统的样式模式更现代、更优越。
一些组件的名称已更改为更常见的替代方案,例如,Popover取代了OverlayPanel,InputSwitch现在称为ToggleSwitch。每个组件都已审查,以确保 CSS 类名和 PT 部分之间命名一致。一个例子是 Select 组件的 option 元素,它使用 p-select-option 作为类名。
组件在其他组件中得到了更多利用,例如,Dialog 关闭按钮实际上不是 PrimeVue 按钮,因此可以使用 closeButtonProps 来启用按钮的轮廓、凸起等功能。当组件使用另一个组件时,在 v3 中,pt 部分会导致混淆,为了防止这种情况,添加了 pc 前缀,以表明 PT 部分实际上是一个 PrimeVue 组件,而不是一个简单的 DOM 元素。这尤其有用,因为 PT 允许将任意属性传递给 DOM 元素,而如果该元素实际上是一个 PrimeVue 组件,则也可以传递 props。
向后兼容和重大更改的列表。
旧名称已弃用,但仍然可以使用,请迁移到新的导入路径,例如,primevue/calendar变为primevue/datepicker。
由于其功能由其他组件提供,因此已弃用的组件。
包含有关组件内部更改详细信息的工单。
样式模式主题已从头开始基于全新的架构重新实现。theme.css 和 primevue/resources 不再存在,因此需要删除对这些资产的任何导入。如果您有 v3 的自定义主题,则需要使用新的 API 重新创建主题。有关详细信息,请参阅样式模式的自定义部分。
由于与Message重叠,因此InlineMessage已弃用。Message的间距、可关闭和生命周期属性发生了重大更改,以提供InlineMessage功能。默认边距已删除,默认情况下可关闭为 false,并且消息不会自动消失。
实验性的 PassThrough 功能尚未准备好投入生产,某些组件的 PT 部分名称因与 CSS 类对齐而发生了更改。如果组件元素是另一个 PrimeVue 组件,则添加 pc 前缀以进行指示。请查看组件的直通部分以获取新的 API。无样式模式的 Tailwind CSS 预设尚未更新到 v4。
nuxt-primevue 模块已被新的 @primevue/nuxt-module 模块取代。旧模块仍为 v3 用户维护。