javascript - 单击 Material 表中的编辑图标访问

标签 javascript reactjs material-ui material-table

enter image description here

我正在Reactjs中使用Material Table来显示表数据。在这里,当我单击编辑选项/图标时,我陷入了想要更改状态的部分。我不想更改编辑按钮的onClick功能,但我只想访问编辑图标。有什么办法可以实现吗?

注意:我只在单击编辑(笔)图标时才需要它,然后它才会变成“确定”和“取消”按钮。 enter image description here

最佳答案

首先您必须删除默认的编辑按钮。然后在 actiontableRef 属性中使用 Button 。现在,您所要做的就是将编辑代码放入 onClick 事件中,如下所示:

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _objectSpread2 = _interopRequireDefault(
  require("@babel/runtime/helpers/objectSpread")
);
...

export default function MaterialTableDemo() {
  const tableRef = useRef(null);
  ...
  return (
    <MaterialTable
      ...
      tableRef={tableRef}
      actions={[
        {
          onClick: (event, rowData) => {
            console.log("Clicked", rowData);
            tableRef.current.dataManager.changeRowEditing(rowData, "update");

            tableRef.current.setState(
              (0, _objectSpread2["default"])(
                {},
                tableRef.current.dataManager.getRenderState(),
                {
                  showAddRow: false,
                }
              )
            );
          },
        },
      ]}
      ...
    />
  )
}

这部分是 Material 表在其代码中使用的要求:

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _objectSpread2 = _interopRequireDefault(
  require("@babel/runtime/helpers/objectSpread")
);

此外,这是您触发编辑操作所需的代码:

tableRef.current.dataManager.changeRowEditing(rowData, "update");
tableRef.current.setState(
  (0, _objectSpread2["default"])(
    {},
    tableRef.current.dataManager.getRenderState(),
    {
      showAddRow: false,
    }
  )

关于javascript - 单击 Material 表中的编辑图标访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66747294/

相关文章:

javascript - 如何在另一个 JavaScript 中创建并使用自己的函数

javascript - 当我使用 setState 回调来toggleDropdown 时,我的下拉列表在选择项目后打开

reactjs - 为什么 MUI 主题与 NextJS 布局不同

javascript - 警告 : Prop `className` did not match ~ Material UI css arbitrarily breaks on reload

css - 自定义 Material 设计数据表复选框

javascript - 如何在旧版 Java Web 应用程序中捆绑 js/css

javascript - 使用 jQuery 设置动态创建的文本框的值

reactjs - 使用 react-moment 转换日期

javascript - 数组按字母顺序排序到下拉 JavaScript

javascript - 从对象数组渲染 React 组件