Skip to content

Root 根节点

页面级根容器,用于统一 Lucky UI 的主题作用域、品牌色变量、安全区变量与全局反馈宿主。

基础用法

推荐在主页面或业务根布局包裹内容。使用 LkRoot 后,Toast 宿主会自动挂载,不需要再额外写 <lk-toast-manager />

vue
<template>
  <lk-root>
    <page-layout />
  </lk-root>
</template>

局部主题

theme="auto" 会跟随 Lucky UI 当前主题;传入 lightdark 时,仅影响当前根节点内部。

vue
<template>
  <lk-root theme="dark" brand-color="#13c2c2">
    <view class="page">
      <lk-button @click="showToast">显示 Toast</lk-button>
    </view>
  </lk-root>
</template>

<script setup lang="ts">
import { toastStore } from '@/uni_modules/lucky-ui'

function showToast() {
  toastStore.show('Root 已承载 Toast')
}
</script>

关闭内置 Toast

如果页面仍使用低层的 <lk-toast-manager />,应关闭 Root 的内置宿主,避免重复挂载。

vue
<template>
  <lk-root :toast="false">
    <page-layout />
    <lk-toast-manager />
  </lk-root>
</template>

高质量根节点标准

一个可长期维护的根节点应具备这些能力:

能力说明
稳定单根契约对外只暴露明确根容器和默认插槽,不制造额外布局副作用
清晰作用域主题、品牌色、CSS 变量只影响当前 Root 内部
跨端安全区H5 使用 env(safe-area-inset-*),小程序/App 优先使用运行时安全区
全局宿主Toast 这类全局反馈集中挂载,避免页面重复声明
层级边界不随意抬高根节点 z-index,浮层仍遵循组件自身层级体系
可关闭能力全局宿主、全高、安全区等行为均可通过 prop 显式关闭
扩展入口为后续 Loading、Notify、浮层宿主保留同一个页面级入口
可预测默认值不隐式锁滚动,不接管业务路由,不依赖 DOM API
类型完整导出 props 类型和全局组件声明,IDE 能正确提示

实用场景

场景建议
应用主页面LkRoot 包裹主布局,统一主题、品牌变量与 Toast 宿主
业务根布局在登录页、工作台、设置页等独立布局入口使用
局部主题隔离活动页、预览区、嵌入模块可传 themebrandColor
自定义导航框架搭配 Navbar、Tabbar、TabbarContainer,复用全高与安全区变量
后续全局能力为 Loading、Notify、浮层宿主等能力预留稳定入口

API

Props

参数说明类型可选值默认值
theme主题模式,auto 跟随当前 Lucky UI 主题stringauto / light / darkauto
brandColor局部品牌色,仅影响当前根节点内部string''
localeLucky UI 组件语言,传入后调用 Locale.usestring''
background根节点背景stringpage / container / transparentpage
fullHeight是否启用页面级最小高度booleantrue
safeArea是否暴露安全区 CSS 变量booleantrue
toast是否内置 Toast 宿主booleantrue
customClass自定义类名string / object / array''
customStyle自定义样式string / object''

Slots

插槽名说明作用域参数
default页面内容

CSS 变量

CSS 变量说明
--lk-root-safe-area-top当前根节点顶部安全区
--lk-root-safe-area-right当前根节点右侧安全区
--lk-root-safe-area-bottom当前根节点底部安全区
--lk-root-safe-area-left当前根节点左侧安全区
--lk-safe-area-topRoot 对外提供的顶部安全区别名
--lk-safe-area-bottomRoot 对外提供的底部安全区别名

注意事项

TIP

Root 首版不会接管 Popup、Modal、Overlay 的渲染宿主,现有浮层组件行为保持不变。

WARNING

同一页面只保留一个 Toast 宿主。使用 LkRoot 默认配置时,不要再手写 <lk-toast-manager />

基于 MIT 协议开源 · 粤ICP备2022114240号-3

Root 根节点

正在连接预览服务...

请先运行 pnpm run dev:h5