react中useState使用:如何实现在当前表格直接更改数据 |
||||||||||||||
目录
如何实现在当前表格直接更改数据
需求用户点击修改按钮时直接在弹出框的当前页面内直接再次修改点击行相关信息:
效果如下点击修改当事人信息时,直接将当前改为输入框,并将信息展示,同时操作栏内的内容变为保存和取消;
具体做法我这里是使用的antd组件内的可编辑表格;当然原生的也可以做,以前也做过; 这里的关键是点击修改按钮时,令当前行的表格变为输入框,并展示数据; 给数据每一项加上 editable: true属性,并通过该属性控制 渲染的是数据还是可修改的输入框 这里是使用的useState()方法来进行状态控制的;
?
我这里给useState一个初始值为空,点击修改后使用setEditingKey()方法(useState返回的方法)将useState数据的值赋值为当前行的唯一key值,这样二者相等,陆零网络,就可以区别点击的是哪一条数据的按钮了;点击取消setEditingKey(’’)重新置空; 判断逻辑:
?
渲染数据前进行判断:
?
根据数据状态判断渲染的是表格合适输入框:
?
导出:
?
其中dataSource为数据源,
功能实现。
useState修改对象的字段首先定义一个空对象
?
给这个对象附上不同值,但不会把原来的覆盖的掉
?
|