为了账号安全,请及时绑定邮箱和手机立即绑定

antd的Table表格默认会勾选上次勾选的,怎么清除

antd的Table表格默认会勾选上次勾选的,怎么清除

繁星点点滴滴 2019-03-28 22:15:00
我设置了默认勾选13,第一次提交(132)是对的,第二次,页面上还勾选着上次提交的,没有按getCheckboxProps配置的渲染,然后onChange这,输出的是上一次提交的(132)+本次默认(13)+新勾的(45)= [1, 3, 2, 1, 3, 4, 5]我是百思不得其解。class User extends Interval {    constructor(props) {        super(props);        this.state = {            synCode: [],        }    }    render() {        console.log(this.state.synCode);        const _this = this;        const rowSelection = {            getCheckboxProps(record) {                return {                    defaultChecked: record.leader === 1, // 配置默认勾选的列                };            },            onChange(selectedRowKeys) {                console.log('新来的',selectedRowKeys);                // console.log('原来的',_this.state.synCode);                _this.setState({synCode: selectedRowKeys})            },        };               return (            <Table rowSelection={rowSelection} columns={columns} dataSource={this.state.data} />        );    }}
查看完整描述

4 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

当想清除勾选的时候,设置this.state.selectedRowKeys=[];


const rowSelection = {

    onChange: (selectedRowKeys, selectedRows) => {

            this.state.nowIds = selectedRowKeys.join(',');

            this.state.selectedRowKeys = selectedRowKeys;

            this.setState({

                selectedRowKeys:this.state.selectedRowKeys,

            })

        },

        getCheckboxProps: record => ({

            disabled:record.receiveStatus !=0,

            receiveStatus: record.receiveStatus,

        }),

        selectedRowKeys:this.state.selectedRowKeys,

    };


查看完整回答
1 反对 回复 2019-04-08
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

操作完成后,设置selectedRow: [],selectedKeys: []


查看完整回答
反对 回复 2019-04-08
  • 4 回答
  • 0 关注
  • 9707 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信