Bermu

react中的select无法绑定唯一id的问题

2018-09-04

最近项目中频繁遇到的一个bug,终于在 @舍友小薛 的帮助下搞定了。

技术栈

1
2
3
react  最新吧应该是
ant-design 3.9
create-react-app

基于脚手架上搭建的项目,搭载了路由[redux看业务拓展需要]。

bug-card:

1
2
3
-card      -card      -card    ...

-select -select -select ...

页面的dom结构类似这样,在进行循环绑定的时候,当我点击其中一个select进行了选择操作,再去对某个卡片删除

1
2
3
-card      -card      ...

-select -select ...

删除之后的卡片的select值应该与删除之前的没有变化,会有本地修改的一次备份,但是当我删除后,select的值混乱了,原因可能是因为我在用antd时,中使用了defaultValue值,导致我dom再变化时,defaultValue无法被重新赋值,导致顺序错乱。

但是对于value又不可直接操作,为此我操碎了心。

后来看到FormItem有装饰器的功能,与小薛就试着创建包围的@decorator属性,使每个select都有默认值的归属,且真实可变的value有唯一的key值索引,成功地使本地所做的更改保留了下来。

Tags: issues
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章