Reka UI logoReka
backdrop
实用工具

Config Provider

包裹您的应用以提供全局配置。
  • 使所有基本组件能够继承全局阅读方向。
  • 启用在设置主体锁定 (body lock) 时更改滚动主体行为。
  • 更多控制以防止布局偏移。

解构

导入组件。

vue
<script setup lang="ts">
import { ConfigProvider } from 'reka-ui'
</script>

<template>
  <ConfigProvider>
    <slot />
  </ConfigProvider>
</template>

API 参考

Config Provider

当创建需要从右到左 (RTL) 阅读方向的本地化应用时,您需要使用 ConfigProvider 组件包裹您的应用程序,以确保所有基本组件根据 dir prop 调整其行为。

您还可以更改 AlertDropdownMenu 等组件的 bodylock 的全局行为,以适应您的布局,防止任何 内容偏移

属性默认类型
dir
'ltr'
'ltr' | 'rtl'

您应用的全局阅读方向。所有基本组件都将继承此方向。

locale
'en'
string

您应用的全局语言环境。所有基本组件都将继承此语言环境。

nonce
string

您应用的全局 nonce 值。相关基本组件将继承此值。

scrollBody
true
boolean | ScrollBodyOption

您应用的全局滚动主体行为。相关基本组件将继承此行为。

useId
(() => string)

作为一种临时解决方案,用于防止水合问题,全局 useId 注入。

方法类型
useId
() => string

作为一种临时解决方案,用于防止水合问题,全局 useId 注入。

示例

使用配置提供器。

将全局方向设置为 rtl,并将滚动主体行为设置为 false(将不设置任何内边距/外边距)。

vue
<script setup lang="ts">
import { ConfigProvider } from 'reka-ui'
</script>

<template>
  <ConfigProvider
    dir="rtl"
    :scroll-body="false"
  >
    <slot />
  </ConfigProvider>
</template>

水合问题 (Vue < 3.5)

我们提供一个临时解决方案,允许当前的 Nuxt(版本 >3.10)项目通过使用 Nuxt 提供的 useId 来解决当前的水合问题。

灵感来自 Headless UI

vue
<!-- in Nuxt's app.vue -->
<script setup lang="ts">
import { ConfigProvider } from 'reka-ui'

const useIdFunction = () => useId()
</script>

<template>
  <ConfigProvider :use-id="useIdFunction">

  </ConfigProvider>
</template>