首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >intro.js的React包装器无法识别元素

intro.js的React包装器无法识别元素
EN

Stack Overflow用户
提问于 2021-02-10 18:29:32
回答 1查看 222关注 0票数 1

我正在使用intro.js的react包装器。我正在尝试将其集成到功能组件中。这些步骤工作正常,但intro.js无法正确识别这些步骤中提供的元素。我尝试过用document.getElementById()和document.querySelector()来定义元素,.Nothing似乎还行得通。还有别的办法吗?

代码语言:javascript
复制
import React,{useState} from 'react'

import { Steps, Hints } from "intro.js-react";

import "intro.js/introjs.css"

import "intro.js/themes/introjs-nassim.css";

const AppIntro = () =>{

const [stepsEnabled, setStepsEnabled] = useState(false)
const [initialStep, setInitialStep] = useState(0)
const [steps, setSteps] = useState([
    {
        intro:"Welcome to our application",
        position: 'top'
    },
    {
        element:document.getElementById('.card'),
        intro: 'This is the second step',
        position: 'left'
    },
    {
        element: document.querySelector('.tableRow'),
        intro:'This is the third step',
        position: 'top'
    }
])
 const onExit = () =>{
    setStepsEnabled(false);
  }
const startIntro=()=>{
    setStepsEnabled(true)
}
return(
    <div>
    <button onClick={()=>startIntro()}>Click me</button>
    <Steps
         enabled={stepsEnabled}
         steps={steps}
         initialStep={initialStep}
         onExit={onExit}
         options=
         {{
             tooltipClass: 'customTooltip',
             showProgress: true,
             showStepNumbers: true,
             showBullets: false,
             exitOnOverlayClick: false,
             doneLabel: "Done",
             nextLabel: "Next",
             hideNext: false,
         }}
     />
     </div>
)

}导出默认AppIntro

这是我的组件

EN

回答 1

Stack Overflow用户

发布于 2021-09-15 16:28:31

你需要更换

代码语言:javascript
复制
    {
        element:document.getElementById('.card'),
        intro: 'This is the second step',
        position: 'left'
    },
    {
        element: document.querySelector('.tableRow'),
        intro:'This is the third step',
        position: 'top'
    }

使用

代码语言:javascript
复制
    {
        element: '.card',
        intro: 'This is the second step',
        position: 'left'
    },
    {
        element: '.tableRow',
        intro:'This is the third step',
        position: 'top'
    }

这将使步骤附加到具有.card和.tableRow类的元素。如果您希望使用ID来标识要附加到的元素,可以将'.card‘替换为'# card’,以便使用card的id附加到该元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66135118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档