AntdProv5+React如何实现用户操作引导页

antd Pro v5 的app.tsx是写在layout里的,常规的那种根据页面的class 或者Id去找元素不太好实现。

于是 我选择在welcome 页面去实现。

按照react-intro.js

npm install intro.js-react

在welcome.tsx里引入

import { Steps } from 'intro.js-react';
import 'intro.js/introjs.css';

 编写步骤信息

// const steps = [
//   {
//     element: '#leftMenuContainer',
//     intro: '欢迎来到DDOM 2.0!在这里可以看您想看的报表,并且支持搜索报表名称功能哟!',
//   },
//   {
//     element: '#topHeaderContainer',
//     intro: '在这里可以修改密码或退出登录!',
//   },
//   {
//     element: '#userIntroCard',
//     intro: '在这里可以查看您的个人信息!',
//   },
//   {
//     element: '#activeCard',
//     intro: '在这里可以查看报表地图,如无报表权限,请联系管理员为您开通!',
//   },
//   {
//     element: '#recentContainer',
//     intro: '在这里可以看到您最近访问的报表及收藏的报表!',
//   },
//   {
//     element: '#deadLineContainer',
//     intro: '在这里可以查看DDOM2.0最新动态!',
//   },
// ];

在组件内编写

  // const [stepsEnabled, setstepsEnabled] = useState(
  //   currentUser?.isFirstTimeLogin || (false as boolean),
  // );
  // const onIntroJs = () => {
  //   setstepsEnabled((bool: any) => !bool);
  // };

在组件的return中编写

      {/* <Steps
        enabled={stepsEnabled}
        steps={steps}
        initialStep={0} // 初始化从第几步骤开始
        onExit={() => setstepsEnabled(false)}
        options={{
          nextLabel: '下一步',
          prevLabel: '上一步',
          doneLabel: '知道了',
        }}
        onComplete={() => setstepsEnabled(false)}
      /> */}

此时有一个问题,就是我无法去框住welcome旁边的菜单和顶部。

想到的解决办法就是把空div绝对定位,手动调试到菜单和顶部上。

最后的效果如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值