如何在材料表的右上方添加“加号按钮”以进行反应并在react中调用我的特定功能

沃森

这是我的代码:

import React, { useState, useEffect } from 'react';
import { Fade } from "@material-ui/core";
import MaterialTable from 'material-table';
import { makeStyles } from '@material-ui/core/styles';

import './styles.css';

const useStyles = makeStyles(theme => ({
    root: {
        flexGrow: 1,
        width: '70%',
        margin: 'auto',
        marginTop: 20,
        boxShadow: '0px 0px 8px 0px rgba(0,0,0,0.4)'
    }
}));

function User(props) {
    const classes = useStyles();
    const [checked, setChecked] = React.useState(false);

    useEffect(() => {
        setChecked(prev => !prev);
    }, [])

    const [state, setState] = React.useState({
        columns: [
            { title: 'name', field: 'name' },
            { title: 'Setor', field: 'sector' }
        ],
        data: [
            { name: 'Tom Brady', setor: 'Quarterback'},
            { name: 'Aaron Rodgers', setor: 'Quarterback'},
            { name: 'Ryan Tannehill', setor: 'Quarterback'},
            { name: 'Julian Edelman', setor: 'Wide Receiver'},
            { name: 'Julio Jones', setor: 'Wide Receiver'},
            { name: 'Marcus Mariota', setor: 'Quarterback'},
            { name: 'Patrick Mahomes', setor: 'Quarterback'},
            { name: 'Antonio Brown', setor: 'Wide Receiver'},
            { name: 'Eli Manning', setor: 'Quarterback'},
            { name: 'Antonio Brown', setor: 'Wide Receiver'},
            { name: 'Mike Evans', setor: 'Wide Receiver'},
            { name: 'Russel Wilson', setor: 'Quarterback'},
            { name: 'Drew Brees', setor: 'Quarterback'},
            { name: 'Cam Newton', setor: 'Quarterback'}
        ],
        actions: [
            { icon: 'create', tooltip: 'Edit', onClick: (event, rowData) => alert('Edit ' + rowData.name + '?')},
            { icon: 'lock', tooltip: 'Block', onClick: (event, rowData) => alert('Block ' + rowData.name + '?')},
            { icon: 'delete', tooltip: 'Delete', onClick: (event, rowData) => alert('Delete ' + rowData.name + '?')}
        ],
        options: {
            headerStyle: { color: 'rgba(0, 0, 0, 0.54)' },
            actionsColumnIndex: -1,
            exportButton: true,
            paging: true,
            pageSize: 10,
            pageSizeOptions: [],
            paginationType: 'normal'
        }
    });


    return (
        <>
            <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
            <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />

            <Fade in={checked} style={{ transitionDelay: checked ? '300ms' : '0ms' }}>
                <div className={classes.root}>
                    <MaterialTable options={state.options} title="Users" columns={state.columns} data={state.data} actions={state.actions}></MaterialTable>
                </div>
            </Fade>
        </>
    );
}

export default User;

我想添加此按钮:

在此处输入图片说明

如果我遵循https://material-ui.com/pt/components/tables/中的默认代码,则必须添加以下代码:

 editable={{
        onRowAdd: newData =>
          new Promise(resolve => {
            setTimeout(() => {
              resolve();
              setState(prevState => {
                const data = [...prevState.data];
                data.push(newData);
                return { ...prevState, data };
              });
            }, 600);
          }),

但是这段代码调用了材料表的特定函数,我想调用自己的函数,如何添加上一个按钮并调用自己的函数?我自己的函数将打开一个包含一些输入的模式,这些输入比我在表上显示的更多。

莫什·费

您可以创建自定义 actions

<MaterialTable
  title="Editable Example"
  columns={state.columns}
  data={state.data}
  actions={[
    {
      icon: "add_box",
      tooltip: "my tooltip",
      position: "toolbar",
      onClick: () => {
        console.log("clicked");
      }
    }
  ]}
/>

工作演示:https : //codesandbox.io/s/material-demo-mgh26

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Ubuntu 14.04中编辑右上方的面板?

来自分类Dev

WKInterfaceController右上方按钮

来自分类Dev

Vaadin:如何使按钮与页面的右上方对齐?

来自分类Dev

Android - 如何在 ImageView 的右上方添加通知计数器

来自分类Dev

如何在画布的右上方绘制位图

来自分类Dev

如何在图像的右上方放置文本?

来自分类Dev

将菜单按钮右上方对齐

来自分类Dev

UIAlertView从右上方淡出如何停止

来自分类Dev

如何获得要添加到缩略图的图像右上方的图标?

来自分类Dev

将灯箱关闭按钮放在右上方区域

来自分类Dev

将按钮固定在可滚动div的右上方

来自分类Dev

将位置按钮放置在AppBarOverlay的右上方

来自分类Dev

如何在图像的右上方显示x框以将其删除

来自分类Dev

如何在背景上方和边框后面的按钮的右上角添加圆圈?

来自分类Dev

可可窗-如何定位在右上方

来自分类Dev

如何使浮动图片浮动到div的右上方?

来自分类Dev

从右上方裁剪超过952像素的HandBrake中的视频

来自分类Dev

我需要在右上方的Material芯片上显示徽章。我如何轻松做到这一点?

来自分类Dev

如何在REACT Material表上的所有行中隐藏一列,并在我正在编辑的特定行的Edit上显示它,并在添加新行时添加Add Operations?

来自分类Dev

如何在Android中的特定按钮上方显示弹出窗口

来自分类Dev

如何在新的窗口对象内添加按钮并在JavaScript中调用该函数?

来自分类Dev

将徽标放在div的右上方

来自分类Dev

引导位置菜单右上方

来自分类Dev

其他图片右上方的图片?

来自分类Dev

将文字放在右上方?

来自分类Dev

浮动右上方的顶部水平对齐

来自分类Dev

水印居中而不是右上方

来自分类Dev

使图标显示在框的右上方

来自分类Dev

我正在尝试在Java的多维数组中对角地搜索到右上方。为什么我出现索引超出范围错误?

Related 相关文章

  1. 1

    如何在Ubuntu 14.04中编辑右上方的面板?

  2. 2

    WKInterfaceController右上方按钮

  3. 3

    Vaadin:如何使按钮与页面的右上方对齐?

  4. 4

    Android - 如何在 ImageView 的右上方添加通知计数器

  5. 5

    如何在画布的右上方绘制位图

  6. 6

    如何在图像的右上方放置文本?

  7. 7

    将菜单按钮右上方对齐

  8. 8

    UIAlertView从右上方淡出如何停止

  9. 9

    如何获得要添加到缩略图的图像右上方的图标?

  10. 10

    将灯箱关闭按钮放在右上方区域

  11. 11

    将按钮固定在可滚动div的右上方

  12. 12

    将位置按钮放置在AppBarOverlay的右上方

  13. 13

    如何在图像的右上方显示x框以将其删除

  14. 14

    如何在背景上方和边框后面的按钮的右上角添加圆圈?

  15. 15

    可可窗-如何定位在右上方

  16. 16

    如何使浮动图片浮动到div的右上方?

  17. 17

    从右上方裁剪超过952像素的HandBrake中的视频

  18. 18

    我需要在右上方的Material芯片上显示徽章。我如何轻松做到这一点?

  19. 19

    如何在REACT Material表上的所有行中隐藏一列,并在我正在编辑的特定行的Edit上显示它,并在添加新行时添加Add Operations?

  20. 20

    如何在Android中的特定按钮上方显示弹出窗口

  21. 21

    如何在新的窗口对象内添加按钮并在JavaScript中调用该函数?

  22. 22

    将徽标放在div的右上方

  23. 23

    引导位置菜单右上方

  24. 24

    其他图片右上方的图片?

  25. 25

    将文字放在右上方?

  26. 26

    浮动右上方的顶部水平对齐

  27. 27

    水印居中而不是右上方

  28. 28

    使图标显示在框的右上方

  29. 29

    我正在尝试在Java的多维数组中对角地搜索到右上方。为什么我出现索引超出范围错误?

热门标签

归档