跳到主要內容

ConfigProvider 全域設定

為元件提供統一的全域設定(尺寸、語言、主題變數、背景花紋白名單)。

基礎用法​

全域尺寸與主題變數
import { LhConfigProvider, LhButton } from '@lh-ui/react'

export default function Demo() {
return (
<>
<LhConfigProvider size="large" themeVars={{ 'primary-color': '#722ed1' }}>
<LhButton type="primary">全局 large + 自定义主色</LhButton>
</LhConfigProvider>

<LhConfigProvider size="small">
<LhButton type="primary">全局 small</LhButton>
</LhConfigProvider>
</>
)
}

Props​

屬性說明型別預設值
size全域尺寸'large' | 'middle' | 'small'—
locale全域語言LhComponentLanguage'zh-CN'
themeVars全域主題變數(鍵不帶 --lh- 前綴)Record<string, string>—
patternComponents啟用背景花紋的元件白名單LhThemeableComponent[]—
componentTheme按元件名單獨設定主題變數Partial<Record<LhThemeableComponent, Record<string, string>>>—

主題變數優先級​

元件自身 props > componentTheme[元件名] > 全域 themeVars

themeVars 可用鍵​

鍵說明
primary-color主色
success-color / warning-color / danger-color / info-color語意色
gold-color / vermilion-color / jade-color國風專屬色
bg-color / text-color / border-color中性色
bg-pattern花紋背景 URL(如 var(--lh-pattern-willow))
bg-pattern-opacity / bg-pattern-color花紋透明度與顏色
decoration-color裝飾色

完整主題客製詳見主題客製。

在元件內讀取​

import { useLhConfigContext } from '@lh-ui/react'

function Probe() {
const { size, locale } = useLhConfigContext()
return <span>{size} / {locale}</span>
}
消費側兜底

未包裹 LhConfigProvider 時,useLhConfigContext() 傳回全欄位 undefined 的兜底物件(而非 null),元件內不需要判空。這是與 plus 的一個有意差異。

樣式​

import '@lh-ui/react/style/config-provider'