如何在反应表中设置默认排序?

问题描述

我正在尝试对react-table v7中的所有列进行认排序,并且仅显示升序和降序,我尝试了以下操作

useTable(
    {
      columns,data,initialState: {
        sortBy: [
          columns.map((one) => {
            return {
              id: one.accessor ? one.accessor : one.id,desc: true,};
          }),],)

认情况下,这确实会改变表格的顺序,但是排序图标不会出现在我这样写的列上

                 {column.isSorted ? (
                        column.isSortedDesc ? (
                          <ExpandLessIcon
                            fontSize="large"
                            style={{
                              transition: "250ms transform",marginLeft: "7px",fontSize: "20px",}}
                            color="disabled"
                          ></ExpandLessIcon>
                        ) : (
                          <ExpandMoreIcon
                            fontSize="large"
                            style={{
                              transition: "250ms transform",}}
                            color="disabled"
                          ></ExpandMoreIcon>
                        )
                      ) : (
                        ""
                      )}
我控制台日志时,

column.isSorted仍然是false。 有人可以帮我解决这个问题吗?

解决方法

Array.map returns是一个新数组,它使sortBy数组具有另一个数组,这引起了问题。可行

        sortBy: columns.map((one) => {
          return {
            desc: false,id: one.accessor ? one.accessor : "",};
        }),