for 循环渲染模板时状态没有同步
初始状态如下:
当我在开发工具的调试器的 AppData 里把「中国」和其他选项的位置交换一下,例如把「中国」和「美国」换一下,就会变成下面这样:
我仅仅是交换了位置,但「美国」就自动选中了。这时候看 AppData 里的状态,「美国」是没有选中的。所以实际的状态没有和视图同步。
代码如下:
< checkbox-group bindchange = "checkboxChange" > < label class = "checkbox" wx:for = "{{items}}" wx:key = "{{item.value}}" > < template is = "checkbox" data = "{{...item}}" /> </ label > </ checkbox-group > < template name = "checkbox" > < checkbox wx:key = "{{item.value}}" value = "{{name}}" checked = "{{checked}}" />{{value}} </ template > |
是在官方的 checkbox 代码片段的基础上改的,只是把 checkbox 放在了 template 里。
如果我在 template 的 data 属性里这样 data="{{item.checked}}" 的话是不会自动选中的,但是这样 data="{{…item}}" 传就会有上面的问题。
虽然知道避免的办法,但还是想知道原因是什么?