pu sh данные в таблицу материалов по нажатию кнопки - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть таблица материалов в моем компоненте реакции. Я хочу добавить строку в таблицу динамически, когда я нажимаю на кнопку. Я не уверен, как поместить данные sh в таблицу при нажатии кнопки с помощью material-table

const{data, columns} = this.state;

const addMore = () => {
    data.push({ code: 'Mehmet', barCode: 'Baran', id: '1987', type: '63', createdBy: 'test' });
    console.log("push complete");
}

........

<Grid item xs={12} md={6}>
   <Button
       className={classes.button}
       color="secondary"
       variant="contained"
       onClick={addMore}
    >Add Morer</Button>
</Grid>

<Grid item xs={12}>
                <MaterialTable
                    icons={tableIcons}
                    title="Offers"
                    columns = {columns}
                    data={data}
                    actions={[
                        {
                          icon: 'delete',
                          tooltip: 'Remove',
                          onClick: (event, rowData) => confirm("You want to delete " + rowData.name)
                        }
                    ]}
                />
            </Grid>

1 Ответ

0 голосов
/ 24 апреля 2020

Поскольку вашим data управляет ваше состояние, для повторного рендеринга вашей таблицы с новыми данными вы должны вернуть эти данные в ваше состояние:

const addMore = () => {
    const newRow = { code: 'Mehmet', barCode: 'Baran', id: '1987', type: '63', createdBy: 'test' }
    this.setState({data: data.concat( newRow )})
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...