使用 ref 查找嵌套元素

Ani*_*nna 5 reactjs gridjs

我正在使用该gridjs-react库创建一个表,如下所示:

<Grid
  columns={['Name', 'Email']}
  data={[
    ['John', 'john@example.com'],
    ['Mike', 'mike@gmail.com']
  ]}
  ref={tableRef}
  search={true}
  pagination={{
    enabled: true,
    limit: 1,
  }}
/>
Run Code Online (Sandbox Code Playgroud)

但是,我想最终向 dom 添加一个项目以获得以下结果:

在此输入图像描述

我考虑过使用ref,但无法访问以下 div,因为它仅在安装组件 Grid 之后才呈现:(据我所知)

在此输入图像描述

lis*_*tdm 3

useEffect当渲染所有内容时,您可以访问块中的网格引用:

useEffect(()=> {
    const grid = ref.current.wrapper.current; //--> grid reference
    const header = grid.querySelector(".gridjs-head"); //--> grid header
    const itemContainer = document.createElement("div"); //--> new item container
    header.appendChild(itemContainer);
    ReactDOM.render(<Input />, itemContainer); //--> render new item inside header
  }, []);
Run Code Online (Sandbox Code Playgroud)

您将需要使用css来获取元素内所需的位置。

工作示例: https: //stackblitz.com/edit/react-r5gsvw