简体   繁体   中英

How could I retrive accessor name inside column header react-table

I have columns as:

const columns = React.useMemo(
    () => [
        {
            Header: "Name",
            accessor: "name", // accessor is the "key" in the data
        },
        {
            Header: "Email",
            accessor: "email",
        }
    ])

and my table code snippet looks like:

<table
    {...getTableProps()}
    id="basicTable"
    className="table table-bordered action-table table-striped table-hover mb-0"
>
    <thead>
        {headerGroups.map((headerGroup) => (
            <tr {...headerGroup.getHeaderGroupProps()}>
                {headerGroup.headers.map((column) => (
                    <th
                        {...column.getHeaderProps()}
                        className="align-top"
                    >
                        <div
                            // {...column.getSortByToggleProps()}
                            onClick={(e) => {
                                console.log(
                                    `col ${column.accessor}`
                                );
                            }}
                        >
                            {column.render("Header")}
                        </div>
                        <div>
                            {column.canFilter
                                ? column.render(
                                      "Filter"
                                  )
                                : ""}
                        </div>
                    </th>
                ))}
            </tr>
        ))}
    </thead>
</table>

Now, here on th, I am trying to retrive the accessor, but I am not being able to do so, on consoling, column.accessor , it returns:

function accessor(row) {
        return getBy(row, accessorPath);
      }

How, could I get the accessor name so that I could fire api call with col name for sorting?

Update:

accessor function looks as:

在此处输入图像描述

Keeping accessor as function helps in handling few other functionalities, for this usecase try to keep another key(eg. sortByBE) for that in column configuration.

Try console.log(cell.value), you will get the associated cell value.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM