微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

材料表详细信息面板默认为与特定条件匹配且远程日期匹配的行展开

如何解决材料表详细信息面板默认为与特定条件匹配且远程日期匹配的行展开

我在 react.js 中使用 material-table v1.69.0

我的意图是:

认扩展一些行,他们通过了我编写的验证函数,该函数获取行的数据并返回带有远程数据

的布尔值

我已经用过这个答案

https://github.com/mbrn/material-table/issues/1021

https://github.com/mbrn/material-table/issues/2416

https://github.com/mbrn/material-table/issues/1340

https://github.com/mbrn/material-table/issues/2012

https://github.com/mbrn/material-table/issues/675

我可以使用本地数据实现我的愿望,但是使用远程数据 onToggleDetailPanel 会给我错误, 即使在我只扩展一行时使用远程数据,也没有问题,问题是当我想扩展多行时,我有一个函数来检查行的数据并返回 true 或 false。

这是我的代码

setTimeout(() => {
        console.log("dataSourceIn",datasource);
        const { detailPanel } = (tableRef as any).current.props;
        (tableRef as any).current.dataManager.data = [...(tableRef as any).current.dataManager.data].map(data => {
           let rowData={...data}
           if(!!element.expandedByDefaultContainer.value!(data))
      rowData.tableData.showDetailPanel = (typeof detailPanel === 'function' ? detailPanel : detailPanel[0].render);
      return rowData;
    });
   
    (tableRef as any).current.onToggleDetailPanel([0],(tableRef as any).current.dataManager.data[0].showDetailPanel)
    // (tableRef as any).current.onToggleDetailPanel([1],detailPanel[0].render)
    // (tableRef as any).current.onToggleDetailPanel([2],detailPanel[0].render)
      },0);
 

<MaterialTable
        tableRef={tableRef}
        title={title}
        columns={columnDeFinitions}
        data={datasource}
        actions={actionDeFinitions}
        components={componentsOverride}
        editable={rowActionDeFinitions}
        options={gridOptions}
        localization={localizationDeFinition}
        onRowClick={onRowClick}
        onSelectionChange={onSelectedChange}
        detailPanel={rowDetailRenderer?[{
          icon: "expand_more",openIcon: "expand_less",render: rowDetailRenderer
        }]:undefined}
      />

我什么时候应该这样做,例如在使用效果但什么是依赖数组 如果需要更多数据,请告诉我提供 谢谢大家

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。