Search code examples
reactjsreact-tablereact-table-v7

How to add dropdown to react-table on click of icon


I am using react table 7.0 , How can i add and iconColumn , and on click of that , need to show an dropdown.

 {
        Header: "",
        accessor: "actionColumn",
        disableSortBy: true,
        Cell: ({ original }) => (
           
            <div className="cursor__pointer ">
                <Icon className="padding5" iconName="RemoveLink" aria-hidden="true" />
            </div>
        )
    },

I am able to render an icon on the column like above. How can i render a dropdown on click of it ?


Solution

  • Here's an example, how to do this with this simple @trendmicro-frontend/react-dropdown library:

          {
            Header: "",
            accessor: "actionColumn",
            disableSortBy: true,
            Cell: ({ original }) => (
    
                <div className="cursor__pointer ">
                  <Dropdown
                      onSelect={(eventKey) => {
                      }}
                  >
                    <Dropdown.Toggle btnStyle="link" noCaret
                    >
                      <Icon className="padding5" iconName="RemoveLink" aria-hidden="true" />
                    </Dropdown.Toggle>
                    <Dropdown.Menu>
                      <MenuItem header>Header</MenuItem>
                      <MenuItem eventKey={1}>link</MenuItem>
                      <MenuItem divider />
                      <MenuItem header>Header</MenuItem>
                      <MenuItem eventKey={2}>link</MenuItem>
                    </Dropdown.Menu>
                  </Dropdown>
                </div>
            )
          },
    

    A working example here:

    https://codesandbox.io/s/distracted-leftpad-c6onr?file=/src/App.js