OnboardingFlow 引导流
First-Run Wizard / Hotspot Tour / Full Flow 3 个 tab 的引导流外壳。
基础用法
预定义 3 个 tab(id:wizard、hotspot、flow),每个 tab 内容由消费方通过 named slot
#panel-{tabId}(Vue)/ slots["panel-{tabId}"](React)填入。也可通过 tabs prop 覆盖默认列表。
来源:onboarding.html。
背景
<script setup lang="ts">
import { CfOnboardingFlow, CfStepper } from '@chufix-design/vue';
const steps = [
{ id: '1', title: '选择主题' },
{ id: '2', title: '导入数据' },
{ id: '3', title: '邀请成员' },
];
</script>
<template>
<div style="height: 280px;">
<CfOnboardingFlow>
<template #panel-wizard>
<CfStepper :items="steps" :current="0" />
</template>
<template #panel-hotspot><p style="color: var(--fg-2);">热点引导:在真实组件上加圆点 + 浮窗(基于 CfTour 增强)。</p></template>
<template #panel-flow><p style="color: var(--fg-2);">完整引导流:组合 wizard + hotspot + 完成态。</p></template>
</CfOnboardingFlow>
</div>
</template> <script setup>
import { CfOnboardingFlow, CfStepper } from '@chufix-design/vue';
const steps = [
{ id: '1', title: '选择主题' },
{ id: '2', title: '导入数据' },
{ id: '3', title: '邀请成员' },
];
</script>
<template>
<div style="height: 280px;">
<CfOnboardingFlow>
<template #panel-wizard>
<CfStepper :items="steps" :current="0" />
</template>
<template #panel-hotspot><p style="color: var(--fg-2);">热点引导:在真实组件上加圆点 + 浮窗(基于 CfTour 增强)。</p></template>
<template #panel-flow><p style="color: var(--fg-2);">完整引导流:组合 wizard + hotspot + 完成态。</p></template>
</CfOnboardingFlow>
</div>
</template> <CfOnboardingFlow slots={{
'panel-wizard': <PanelA />,
'panel-hotspot': <PanelB />,
}} /> <CfOnboardingFlow slots={{
'panel-wizard': <PanelA />,
'panel-hotspot': <PanelB />,
}} /> API
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
modelValue / value | string | 第一个 tab id | 活动 tab |
tabs | TemplatePaneTab[] | 预设 | 自定义 tab 列表 |
size | 'sm' | 'md' | 'lg' | 'md' |
预设的 tab id 列表导出为 PROTOCOL_TABS / NETWORK_TABS / SQL_TABS 等常量,可在自定义 tabs 时直接拿来用。
模版组件本质是
CfTabs的语义薄壳。如果你不需要一组预定义 tab,直接用 CfTabs 即可。
反馈与讨论
OnboardingFlow 引导流 的讨论