如下是第一步,选择第二个,确定,进入第二步
这里期望,进入第二步后也全部未选中,但是实际复用了第一步的结果(导致第二个选项被选中):
wxml代码片段:
<view >
<text> 问题{{curQuestionIdx}}:{{questionItems[curQuestionIdx].question}} </text>
<radio-group bindchange="radioChange">
<label class="checkbox" wx:for="{{questionItems[curQuestionIdx].candidates}}" wx:key="unique" >
<radio value="{{index}}" checked="">
<text class="raidoItem">{{item.cont}}</text>
</radio>
</label>
</radio-group>
<button bindtap="btnSureClick">确定</button>
js代码片段
radioChange: function (e) {
this.data.curQuestionSelectItem = e.detail.value
},
btnSureClick: function(e) {
var ansCand = this.data.questionItems[this.data.curQuestionIdx]["candidates"][this.data.curQuestionSelectItem]
if (ansCand["answer"] == false) {
} else {
this.data.curQuestionSelectItem = -1;
//this.data.curQuestionIdx = 1; //用下面的方法,才会刷新
this.setData({curQuestionIdx: 1})
}
},
解决了,所有数据都加上 "checked":false字段,
然后wxml
<radio value="{{index}}" checked="{{index.checked}}">
<radio value="{{index}}" checked="{{!!item.answer}}">
这样?