当我打开一个页面时,通过后端返回的数据,前端逻辑处理之后形成一个数组【genetateFormList】,在页面中调用自定义组件【formApp】并且循环这个组件,用来实现动态表单及表单之间的联动(图1),其中联动是通过【genetateFormList】数组对象中的【equation】布尔值利用指令【hidden】实现表单的联动,例如我选了周报填写,就会把对应的隐藏表单项的【equation】值修改成【false】,因为在hidden中false代表显示,true代表隐藏,整个流程就是这样,问题就在当我选了周报填写之后,equation值也在数组中修改成功,但是数据【genetateFormList】,并没有重新渲染(图4),这是为什么?是框架的bug还是我的问题?
图2:
图3:
图4:
题有点长,就不审了。
假设你想渲染的数组名字叫“event”。在console里,event里面的值已经更新成功。那么再加一行代码
that.setData({
events: that.data.events
})
把events这个数组重新渲染一下,就可以了
审题失败。。。来个代码片段吧。。