BootstrapVueNext 0.29.0版本发布:组件API重构与功能增强
BootstrapVueNext是基于Vue 3的Bootstrap组件库,它提供了丰富的UI组件和工具,帮助开发者快速构建响应式Web应用。最新发布的0.29.0版本带来了一系列重要的API重构和功能增强,特别是对弹出层组件和控制器功能的改进。
核心变更与破坏性更新
组件属性命名统一化
本次更新对多个组件的属性命名进行了统一调整,特别是将content
属性更名为body
,以保持组件间的一致性。这一变更影响了BPopover
和BTooltip
组件,开发者需要将现有代码中的content
属性更新为body
。
模态框与抽屉组件焦点管理重构
BModal
和BOffcanvas
组件的焦点管理机制进行了重构:
- 移除了
autofocus
和autofocusButton
属性,引入了更灵活的focus
属性 - 现在组件关闭时会自动将焦点返回到之前的元素上
- 新增了
okClass
和cancelClass
属性,允许自定义按钮样式
控制器API重大变更
控制器组合式API(如useModalController
和useToastController
)经历了重大重构:
- 现在返回Promise,包含ID和可链式调用的函数
- 移除了props对象结构,参数现在扁平化
- 新增了对TypeScript语法的更好支持
- 增加了插槽支持
- 重命名了部分参数(如
pos
改为position
)
新功能亮点
增强的显示/隐藏逻辑
引入了useShowHide
组合式函数,提供了更强大的组件显示/隐藏控制能力:
- 创建了触发器注册表,支持外部触发器(如vBToggle指令)
show
方法现在返回Promise,在显示或隐藏时解析- 改进了焦点陷阱的管理时机
通用切换功能
新增的useToggle
组合式函数可以切换任何支持显示/隐藏的组件,为开发者提供了统一的控制接口。
警告组件改进
BAlert
组件现在采用了类似toast的行为模式,使用useShowHide
逻辑进行管理,使其在通知场景下表现更加一致。
问题修复与优化
本次更新还修复了多个组件的问题:
BAccordionItem
修复了初始modelValue的处理BCarousel
修复了v-for更新问题BDropdown
优化了位置计算逻辑,避免不必要的计算BPagination
改进了箭头键导航体验BTabs
修复了SSR下的类名问题和递归错误- 改进了
vBToggle
指令对延迟加载组件的支持
总结
BootstrapVueNext 0.29.0版本通过API重构和功能增强,提供了更一致、更灵活的组件使用体验。特别是控制器API的改进,使得动态创建和管理弹出层组件变得更加简单和强大。虽然这些变更带来了一些破坏性更新,但它们为未来的功能扩展奠定了更好的基础。
对于现有项目升级,开发者需要特别注意属性名的变更和控制器API的使用方式变化。新项目则可以充分利用这些改进,构建更健壮和易维护的界面。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考