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}}” 传就会有上面的问题。
虽然知道避免的办法,但还是想知道原因是什么?
