跳转到内容

全局配置 ConfigProvider

设置国际化语言的基本用法。

通过 empty 插槽可以全局自定义空状态元素。

设置组件为从右向左阅读的视图。

设置 allow-clear 后,支持清空按钮的组件会默认继承这个配置;如果组件自己显式传入了 allow-clearallowClear,则以组件 props 为准。

设置 allow-search 后,支持搜索的组件会默认继承这个配置;如果组件自己显式传入了 allow-searchallowSearch,则以组件 props 为准。

设置 virtual-list-props 后,Select、AutoComplete、Cascader、TreeSelect 这类下拉组件会默认继承这组虚拟滚动参数;如果组件自己显式传入了 virtual-list-props,则以组件 props 为准。

ConfigProvider 现在可以作为局部 ThemeProvider 使用。设置 theme-mode 后,组件库会在当前子树上挂载真正的局部 sd-theme 容器,而不是只依赖 body

设置 modaldrawer 后,Modal / Drawer 会默认继承对应配置;如果组件自己显式传入了同名 props(例如 closableok-textwidth),则以组件 props 为准。

设置 date-picker 后,DatePicker / RangePicker 会默认继承对应配置;如果组件自己显式传入了同名 props(例如 show-confirm-btnabbreviationshortcuts),则以组件 props 为准。

参数名描述类型默认值版本
prefix-cls组件类名前缀string'sd'
locale配置语言包SDLang-
size大小Size-2.14.0
allow-clear是否默认开启清除按钮booleanfalse
allow-search是否默认开启搜索booleanfalse
virtual-list-props下拉类组件默认虚拟滚动参数VirtualListProps-
global是否全局生效booleanfalse2.25.0
update-at-scroll是否在容器滚动时更新弹出框的位置booleanfalse2.25.0
scroll-to-close是否在滚动时关闭弹出框booleanfalse2.46.0
exchange-time是否交换时间booleantrue2.48.0
rtl视图的表现形式是从右开始向左结束booleanfalse
date-pickerDatePicker 组件默认配置ConfigProviderDatePicker-
modalModal 组件默认配置ConfigProviderModal-
drawerDrawer 组件默认配置ConfigProviderDrawer-
json-formJsonForm 组件默认配置JsonFormProviderConfig-
theme运行时主题对象SDThemeConfig-
theme-mode当前 ConfigProvider 子树的主题模式'light' | 'dark'-
插槽名描述参数版本
loading自定义加载中元素-2.28.0
empty自定义空状态元素component: string2.28.0

global 属性设置为 true 时,会将配置内容注入到 Vue AppContext 中,一般用于解决使用 Modal、Message 组件的函数式调用方法时,配置内容无法生效的问题。

allow-clear 只会给未显式传入 allowClearallow-clear 的组件提供默认值,不会覆盖组件自己已经声明的 props。

allow-search 也只会给未显式传入 allowSearchallow-search 的组件提供默认值;像 filterable 这类兼容别名如果已经显式传入,同样会优先于全局配置。

virtual-list-props 目前只对下拉类组件生效,例如 Select、AutoComplete、Cascader、TreeSelect;Table、List 等非下拉组件不会读取这个全局默认值。

modal 支持以下全局默认字段:maskmaskClosablemaskStylealignCenterescToClosedraggableclosabletitleAligntopfooterhideCancelokTextcancelTextokButtonPropscancelButtonPropswidth

date-picker 支持以下全局默认字段:shortcutsshortcutsPositionpreviewShortcutshowConfirmBtnshowNowBtndayStartOfWeekabbreviation

drawer 支持以下全局默认字段:placementmaskmaskClosableescToCloseclosableheaderfooterhideCancelokTextcancelTextokButtonPropscancelButtonPropswidthheight

json-form 支持给 JsonForm 提供默认 adapter,以及注入业务自定义字段组件注册表 components。当多个页面共享同一批业务字段组件时,优先通过 ConfigProvider 统一配置。

这些字段遵循“组件显式传参优先”原则:只有当组件未显式声明对应 prop 时,才会回退到 ConfigProvider 的默认值。

theme-mode 会让 ConfigProvider 在当前子树中创建一个局部 ThemeProvider。和直接操作 body 不同,这种方式适合在同一页面上并存多个不同主题的组件区域。

当只传 theme、不传 theme-mode 时,当前子树会继承上层主题模式,仅对传入的 token 做局部增量覆盖。

如果你只需要局部主题切换,不需要 locale、rtl、size 等其他配置,也可以直接使用 ThemeProvider 组件。

可以在 #empty 中自定义组件库全局的空状态展示,如果在插槽中使用到了 Empty 组件,需要开启 inConfigProvider 属性。