原文鏈接: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 | 結束標簽名稱 | string | Done |
hidePrev | 是否隱藏上一步 | boolean | |
hideNext | 是否隱藏下一步 | boolean | |
tooltipPosition | 提示框位置 | string | |
highlightClass | 高亮... | string | |
exitOnEsc | 是否按esc退出引導 | boolean | |
exitOnOverlayClick | 是否點擊遮蓋層退出引導 | boolean | |
showStepNumbers | 是否展示第幾步 | boolean | |
keyboardNavigation | 是否用鍵盤導航 | boolean | |
showButtons | 是否展示button按鈕 | boolean | |
showBullets | 是否展示公告 | boolean | |
showProgress | 是否展示引導進度條 | boolean | false |
scrollToElement | 是否滾動到展示的元素上(貌似無效) | boolean | true |
overlayOpacity | 遮蓋層透明度 | number | |
scrollPadding | 滾動間距 | number | |
positionPrecedence | 位置優先?? | string[] | |
disableInteraction | 禁用交互 | boolean | |
hintPosition | 提示位置 | string | |
hintButtonLabel | 提示按鈕標簽 | string | |
hintAnimation | 刪除動畫 | boolean | |
steps | 步驟 | Step[] | |
hints? | 提示
|
Hint[] |