我正在尝试将数据加载到表中,但它不会删除旧的东西

问题描述 投票:0回答:1

我有有效的reactJS代码,可将数据从excel工作表加载到表组件上。如果表为空,则工作正常。但是,如果我尝试加载另一个Excel文件,它将仅更新表的一部分,而不更新已被占用的东西。

这是我加载表的方式:

    table = () => {
    return (<Table striped bordered hover size="sm" ref={this.configUploadRef}>
        <tbody onChange={this.edit}>
        {this.state.data.map(row => {
            return (
                <tr ref={c => this.tdRef[this.state.data.indexOf(row)] = c}>
                    {row.map(cell => {
                            return (
                                <td>
                                    <EditableLabel text={cell}/>
                                </td>)
                        }
                    )}

                </tr>)
        })}

        </tbody>

    </Table>)

}

这就是我上传新的Excel工作表的方式。

    configFile = async configFile => {
    this.tdRef = [];
    await readXlsxFile(configFile).then((rows) => {
        this.setState({data: rows})
    }).then(
        console.log(this.table())
    )


}

有什么方法可以删除表中的所有数据,然后使用新内容填充它?

javascript reactjs jsx react-bootstrap
1个回答
0
投票

想通了。

添加关键道具,就这样。

<tr ref={c => this.tdRef[i] = c} key={randomstring.generate(12)}>

<td key={randomstring.generate(12)}>
© www.soinside.com 2019 - 2024. All rights reserved.