Перейти к основному содержимому

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-patternURL фонового узора (например, 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), so внутри компонента не требуется проверка на пустоту. Это намеренное отличие от plus.

Стили​

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