原文链接:http://www.pianshen.com/article/9144689534/

在Antd中尝试写了一下, 感觉还可以, 配合后端来判断是否是新用户从而可以对新用户进行引导操作.

效果:

IntroJs引导步骤

给用户提示或介绍如何操作

何时使用

用户初次使用时

如何使用

npm install intro.js –save

代码演示

开始引导

基本用法

最简单的用法。

 1 import React from 'react'
 2         import IntroJs from 'intro.js'
 3         import { Card, Tooltip, Button } from 'antd';
 4
 5         class IntroPage extends React.Component {
 6
 7             startIntro = () => {
 8                 // 获取包含引导元素的父容器, 并组成IntroJs
 9                 var intro1 = IntroJs(document.getElementById('root'))
10                 intro1.setOptions({
11                     prevLabel: "上一步",
12                     nextLabel: "下一步",
13                     skipLabel: "跳过",
14                     doneLabel: "结束",
15                 }).oncomplete(function () {
16                     //点击跳过按钮后执行的事件
17                 }).onexit(function () {
18                     //点击结束按钮后, 执行的事件
19                 }).start();
20             }
21
22             // render
23             // 关键是data-step 和 data-intro
24             render() {
25                 return (
26                     <div id='root'>
27                         <Card bordered={true} style={{ width: '100%' }} data-step="1" data-intro='开始引导!'>
28                             <Button onClick={() => this.startIntro()}>开始引导</Button>
29                         </Card>
30                     </div>
31                 );
32             }
33         }
34
35         export default IntroPage

API

IntroJs Props

start开始引导func 
exit退出引导func 
clone克隆func 
exit退出引导func 
goToStepNumber跳转到第x引导步骤func | (stepId: number) 
goToStep跳转到第x引导步骤func | (step: number) 
nextStep下一步func 
previousStep上一步func 
refresh重置func 
setOption设置引导步骤选项func | (option: string, value: string|number|boolean) 
setOptions设置引导步骤选项func | options: Options 
onexit退出引导回调func | callback: Function 
onbeforechange在元素变化之前func | callback: (element: HTMLElement) => any 
onafterchange在元素变化之后func | callback: (element: HTMLElement) => any 
onchange变化时回调func | callback: (element: HTMLElement) => any 
oncomplete完成时回调func | callback: Function 
addHints添加提示func 
showHint显示stepId提示func | stepId: number 
showHints显示提示func 
hideHint隐藏stepId提示func | stepId: number 
hideHints隐藏提示func 
removeHint删除stepId提示func | stepId: number 
removeHints删除提示func 
onhintsadded func | callback: Function 
onhintclick func | callback: (hintElement: HTMLElement, item: Step, stepId: number) => any 
onhintclose func | callback: (stepId: number) => any 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Options Props

nextLabel下一步标签名称string 
prevLabel上一步标签名称string 
skipLabel跳过标签名称string 
doneLabel结束标签名称stringDone
hidePrev是否隐藏上一步boolean 
hideNext是否隐藏下一步boolean 
tooltipPosition提示框位置string 
highlightClass高亮...string 
exitOnEsc是否按esc退出引导boolean 
exitOnOverlayClick是否点击遮盖层退出引导boolean 
showStepNumbers是否展示第几步boolean 
keyboardNavigation是否用键盘导航boolean 
showButtons是否展示button按钮boolean 
showBullets是否展示公告boolean 
showProgress是否展示引导进度条booleanfalse
scrollToElement是否滚动到展示的元素上(貌似无效)booleantrue
overlayOpacity遮盖层透明度number 
scrollPadding滚动间距number 
positionPrecedence位置优先??string[] 
disableInteraction禁用交互boolean 
hintPosition提示位置string 
hintButtonLabel提示按钮标签string 
hintAnimation删除动画boolean 
steps步骤Step[] 
hints?

提示

Hint[]
01-03 19:46