Radix Vue 2.3.0版本发布:功能增强与体验优化
Radix Vue是一个基于Vue.js的UI组件库,它提供了一系列无样式、可访问性强的组件基础,让开发者可以快速构建自定义设计系统的UI组件。Radix Vue遵循WAI-ARIA设计模式,确保了组件的可访问性,同时保持了高度的灵活性和可定制性。
核心功能增强
表单组件改进
本次2.3.0版本对表单类组件进行了多项功能增强。NumberField组件新增了invertWheelChange
属性,允许开发者反转鼠标滚轮改变数值的行为方向,这在某些特定场景下能提供更符合直觉的操作体验。TimeField组件则增加了对间隔步长的支持,开发者现在可以设置时间选择时的分钟/小时间隔,使时间选择更加精确。
DateField组件修复了最大日期为31天时的验证问题,现在当月份未指定时也能正确处理31日的输入。DateRangeField组件改进了对undefined值的处理逻辑,当手动将start或end设置为undefined时,组件能够正确响应并更新状态。
日历组件优化
Calendar和RangeCalendar组件新增了disableDaysOutsideCurrentView
属性,可以禁用当前视图范围之外的日期选择,这在某些业务场景下能有效防止用户选择无效日期。RangeCalendar还修复了非连续范围选择时的选中和高亮状态问题,并新增了maximumDays
属性来限制可选择的最大天数范围。
交互体验提升
Avatar组件改进了图片加载状态的处理逻辑,并新增了crossOrigin属性,更好地支持跨域图片资源的加载。Dialog组件增加了编程式关闭功能,开发者现在可以通过API直接控制对话框的关闭行为。
Progress组件新增了getValueText
属性用于自定义aria-valuetext,提升了组件的可访问性。同时修复了确定状态下不必要的ARIA属性问题,使屏幕阅读器能更准确地读取进度信息。
类型系统与API改进
本次更新对类型系统进行了多项优化。Tree组件的modelValue类型现在能更好地支持multiple属性,提供了更精确的类型推断。SelectRoot组件修复了泛型类型缺失的问题,使类型提示更加完善。
Primitive组件修复了props合并的逻辑问题,确保了属性传递的正确性。同时,项目整体解决了在defineComponent中使用泛型组件时的类型错误问题,提升了开发体验。
可访问性与行为修复
Slider组件修正了垂直反向模式下PageUp/PageDown按键的方向逻辑,使键盘操作更加一致。TagsInput组件现在会在失去焦点时重置选中的元素,避免了状态不一致的问题。
Tooltip组件修复了在设置disableClosingTrigger时仍会因pointerDown事件关闭的问题,确保了提示框的显示行为符合预期。CollapsibleRoot组件现在会正确处理disabled状态下的open触发,防止在禁用状态下意外展开内容。
性能优化
Editable组件优化了事件监听逻辑,现在只在编辑模式下跟踪pointerdown事件,减少了不必要的性能开销。这种优化对于包含大量可编辑元素的页面尤其有益。
国际化支持
useDateFormatter工具函数现在会优先考虑hourCycle而非locale来确定dayPeriod的显示方式,这使得时间格式在不同地区的显示更加符合预期,特别是在12小时制和24小时制混用的场景下。
Radix Vue 2.3.0版本的这些改进和修复,进一步提升了组件的功能性、稳定性和开发体验,为开发者构建高质量、可访问的Web应用提供了更强大的工具支持。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考