Vben5 封装的组件(豆包版)
Vben5 封装的组件可分为 基础 UI 组件、表单相关组件、布局与功能组件 等类别,具体如下:
一、基础 UI 组件(@vben-core/shadcn-ui
)
基于 shadcn-ui
封装的核心组件,包含:
- 按钮类:
VbenButton
(基础按钮)、VbenButtonGroup
(按钮组)、VbenIconButton
(图标按钮)、VbenCheckButtonGroup
(选择按钮组)。 - 输入类:
VbenInput
(输入框)、VbenInputPassword
(密码输入框)、VbenPinInput
(验证码输入框)。 - 选择类:
VbenSelect
(下拉选择器)、VbenCheckbox
(复选框)、VbenSegmented
(分段器)。 - 反馈类:
VbenTooltip
(提示框)、VbenHelpTooltip
(帮助提示)、VbenPopover
(气泡卡片)、VbenSpinner
(加载动画)、VbenLoading
(加载状态)。 - 其他基础组件:
VbenAvatar
(头像)、VbenBackTop
(回到顶部)、VbenBreadcrumb
(面包屑)、VbenContextMenu
(右键菜单)、VbenDropdownMenu
(下拉菜单)、VbenIcon
(图标)、VbenScrollbar
(滚动条)、VbenTree
(树形组件)、VbenRenderContent
(内容渲染)。
二、表单相关组件(适配与封装)
-
adapter/component
中适配的ant-design-vue
组件(带默认占位符、国际化等适配):- 输入类:
Input
、InputNumber
(数字输入)、InputPassword
(密码输入)、Textarea
(文本域)、AutoComplete
(自动完成)、Mentions
(提及)。 - 选择类:
Select
(下拉选择)、TreeSelect
(树形选择)、ApiSelect
(接口联动选择)、ApiTreeSelect
(接口联动树形选择)、Checkbox
、CheckboxGroup
、Radio
、RadioGroup
、Switch
(开关)、Rate
(评分)。 - 日期时间类:
DatePicker
(日期选择)、RangePicker
(日期范围选择)、TimePicker
(时间选择)。 - 其他:
Upload
(上传)、Divider
(分割线)、Space
(间距)、IconPicker
(图标选择器)。 - 按钮:
DefaultButton
(默认按钮)、PrimaryButton
(主要按钮)。
- 输入类:
-
表单框架组件(
@vben-core/form-ui
):VbenForm
:基于适配组件构建的表单框架,支持通过schema
配置表单结构。- 表单工具:
useVbenForm
(表单 hooks,用于表单状态管理)、setupVbenForm
(表单初始化配置)。
三、弹窗与抽屉组件(@vben-core/popup-ui
)
VbenModal
:模态框组件,支持通过useVbenModal
进行状态管理。VbenDrawer
:抽屉组件,支持通过useVbenDrawer
进行状态管理。
四、表格组件(@vben/plugins/vxe-table
)
VbenVxeGrid
:基于vxe-table
封装的表格组件,支持分页、排序、筛选等功能,通过useVbenVxeGrid
进行状态管理。- 扩展渲染器:
CellImage
(图片渲染)、CellLink
(链接渲染)等表格单元格自定义渲染组件。
五、布局组件(@vben-core/layout-ui
)
VbenAdminLayout
:管理系统布局组件,包含头部、侧边栏、内容区等结构。
六、其他功能组件
CountTo
/VbenCountToAnimator
:数字滚动动画组件。EllipsisText
:文本省略组件。JsonViewer
:JSON 数据可视化组件。Page
/ColPage
:分页相关组件。Resize
:尺寸监听组件。Tippy
:增强型提示组件。
总结
Vben 封装的组件覆盖了从基础 UI 到业务场景(表单、表格、弹窗等)的核心需求,且通过 adapter
层适配了 ant-design-vue
组件,同时提供了基于 shadcn-ui
的自定义组件,兼顾了灵活性和统一性。使用时可根据场景选择:
- 基础 UI 优先使用
@vben-core/shadcn-ui
组件。 - 表单、表格等业务组件优先使用框架封装的
VbenForm
、VbenVxeGrid
等,自动关联适配后的组件。
**开发时需先明确页面的样式风格要求:
- 需 Ant Design 原生风格 → 从 ant-design-vue 引入(已适配)。
- 需 Vben 自定义风格 → 从 @vben-core/shadcn-ui 引入。**