如何以编程方式控制行的切换?

2024-03-10

我将 MaterialTable 与 REACT(基于 Material-UI Table.material-table.com 的 React 数据表)一起使用,更准确地说是详细面板 -material-table.com/#/docs/features/detail-panel

我需要什么?用户应该打开/关闭详细面板并在它们之间拖/放项目。

问题:每次我 React 渲染表格时,所有详细面板都会关闭。

我正在寻找一种解决方案,允许我为每一行设置一个标志,以记录它是隐藏还是打开。所以在渲染时..React不会自动关闭所有行。

我尝试在表格和面板上设置选项和事件 - 没有人能够控制行切换。

代码很简单:

<MaterialTable
           title = "Group Keywords Preview"
           columns = {[
                 { title : "Group", field : "group" },
                 { title : "Weight", field : "weight" }
           ]}
           options={{
               selection: true
           }}
           data = { my data ...}
           detailPanel = {[
                    {
                        tooltip : 'Show Group',
                        render : rowData => {
                              return <my react component .. />
                        }
                    }
            ]}

/>

材料表是否有任何标志/方法可以以编程方式切换行? 我可以用另一种方式来做吗?

提前致谢。


class DetailPanelWithRowClick extends React.Component {
  constructor(props) {
    super(props);
    
    this.tableRef = React.createRef();
  }
  

  render() {
    return (
    <>
      <MaterialTable
        tableRef={this.tableRef}
        columns={[
          { title: 'Name', field: 'name' },
          { title: 'Surname', field: 'surname' },
          { title: 'Birth Year', field: 'birthYear', type: 'numeric' },
          {
            title: 'Birth Place',
            field: 'birthCity',
            lookup: { 34: 'İstanbul', 63: 'Şanlıurfa' },
          },
        ]}
        data={[
          { name: 'Mehmet', surname: 'Baran', birthYear: 1987, birthCity: 63 },
          { name: 'Zerya Betül', surname: 'Baran', birthYear: 1987, birthCity: 63 },
        ]}
        title="Detail Panel With RowClick Preview"
        detailPanel={rowData => {
          return (
            <iframe
              width="100%"
              height="315"
              src="https://www.youtube.com/embed/C0DPdy98e4c"
              frameborder="0"
              allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
              allowfullscreen
            />
          )
        }}
        onRowClick={(event, rowData, togglePanel) => togglePanel()}
      />
      <button onClick={() => {
        this.tableRef.current.onToggleDetailPanel([0], rowData => <div>{rowData.name}</div>)
      }}>toggle second line</button>
      </>
    )
  }
}

您可以按照上面示例中的方式使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式控制行的切换? 的相关文章

随机推荐

  • 如果 ItemGroup 包含项目,如何进行 MSBuild 条件测试?

    这应该很简单 但我找不到如何做到这一点 或者也许这是不可能的 在 MSBuild 中 我有一个 ItemGroup 它是文件列表 我只想在特定文件位于该 ItemGroup 中时才执行任务 就像是
  • Haskell 如何立即计算出如此巨大的数字?

    我开始学习 Haskell 当我学习一门新语言时我喜欢做的事情之一就是欧拉计划 https projecteuler net 问题作为我主要参考资料的补充 对于第二个问题 即查找小于 400 万的偶数斐波那契数之和 我提出了以下解决方案 f
  • 将多维数组传递给函数时难以理解传递的元素

    我在某处读到以下数组可以以这种方式传递给以下函数 如下所示 但是我不明白数组中的哪些元素被准确传递给函数 这些是数组 int array NROWS NCOLUMNS int array1 int array2 int array3 int
  • Primefaces selectCheckBoxMenu filter="custom" 属性不起作用

    我正在使用 primefaces 3 5 我想使用 selectCheckBoxMenu 组件 实际上 我处理这个组件的很多属性 但是我有一个巨大的列表 我愿意用惰性获取这个列表 并且这个组件不包含惰性属性 因此 我决定使用 filter
  • c++11线程的RW锁[重复]

    这个问题在这里已经有答案了 我想使用新的标准线程而不是 boost threads 但我注意到旧的共享互斥体不可用 有什么好的建议可以替代此功能并为我提供多读者 单作者锁定 std shared mutex将成为 C 14 标准库的一部分
  • 使用 Android 浏览器进行 ASP.NET 表单身份验证

    我正在以一种简单的方式使用 ASP NET 表单身份验证 身份验证使用 cookie 来存储凭据 在以下浏览器中完美运行 桌面 Chrome Safari IE 移动设备 iPhone 浏览器 Opera Mobile 我按下按钮表单的身份
  • 如何查看IntelliJ中的编译错误列表?

    我正在寻找一种方法来查看 IntelliJ 中的所有编译错误 类似于它们在 Eclipse 中的显示方式 我尝试在这里和谷歌搜索 但还没有真正找到解决方案 我真的很喜欢 IntelliJ 我最近从 Eclipse 转换到它 我希望这只是我所
  • iPhone自定义UINavigationBar按钮

    我有一个有 4 个选项卡的应用程序 每个选项卡都是一个 UINavigationController 4 个 UINavigationBar 选项卡应该看起来相同 具有自定义背景图像 自定义后退按钮和触发功能的自定义右键 我只想在我的代码中
  • 根据空闲用户使用 Angularjs 自动注销

    是否可以使用 angularjs 确定用户是否处于非活动状态并在 10 分钟不活动后自动将其注销 我试图避免使用 jQuery 但我找不到任何关于如何在 AngularJS 中执行此操作的教程或文章 任何帮助 将不胜感激 我写了一个模块叫N
  • 是否可以使用 C# 在 Microsoft Bot 框架中开发本地化?

    我想要一个支持多种语言的机器人 我知道通过本地化这是可能的 但我找不到使用 c 的解决方案 Microsoft Bot 框架文档中有一篇有关本地化的文章 有一个 Node js 的例子 但我是用c 实现的 那么 任何人都可以给我一个想法或任
  • 继承和接口

    这是对此的后续问题question https stackoverflow com questions 267045 is there a benefit to having both an abstract class and an in
  • 逐行构建 pyarrow 表的最快方法

    我有一本大字典 我想迭代它来构建一个 pyarrow 表 字典的值是不同类型的元组 需要解压缩并存储在最终 pyarrow 表中的单独列中 我确实提前知道了架构 键还需要存储为列 我有下面的方法可以逐行构建表格 是否还有另一种更快的方法 对
  • 如何为 Android EditText 设置光标背景透明

    当我触摸 Android 上的 EditText 来更改文本时 我遇到了这个问题 A white frame appears around the red cursor and I need it to be transparent for
  • 从文本文件中删除带有另一个文件中的行号的行

    我有一个文本文件 其中包含一个巨大的行号列表 我必须从另一个主文件中删除它 这是我的数据的样子 行 txt 1 2 4 5 22 36 400 and documents txt string1 string2 string3 如果我有一个
  • Rust中如何处理不精确的浮点运算结果? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Rust 中如何处理浮点运算 fn main let vector vec 1 01 f64 1 02 1 03 1 01 1 05
  • 为 zsh + Prezto 主题安装 powerline 字体

    我目前正在使用 Zsh Prezto 进行脚本 shell 配置 我一直在使用sorin主题 但我有点不满意 我想切换到paradox https github com paradox460 prezto blob paradox modu
  • 单个项目中的 Identityserver4 和 API

    我有一个 IdentityServer4 asp net core 主机设置资源所有者密码授予 http docs identityserver io en release quickstarts 2 resource owner pass
  • “文档”与“内容.文档”

    我正在尝试编写一个 Firefox 扩展 将元素添加到加载的页面 到目前为止 我通过以下方式获取了文档的根元素 var domBody content document getElementsByTagName BODY item 0 并通
  • WinForms 或 WPF 的文本差异可视化控件

    继续我的上一个问题 https stackoverflow com questions 138331 any decent text diffmerge engine for net 有什么好的文本差异可视化控件吗 类似于 StackOve
  • 如何以编程方式控制行的切换?

    我将 MaterialTable 与 REACT 基于 Material UI Table material table com 的 React 数据表 一起使用 更准确地说是详细面板 material table com docs fea