写项目的时候碰到一个问题,页面打开的时候需要默认勾选radio的某一项,默认勾选项是会变化的,网上查找了一下,没找到类似的文章,自己研究了一下,现在分享给大家。
首先wxml部分
<radio-group class="section_val flex wrap" name="schedule" bindchange="radioChange">
<label wx:for="{{progress}}" wx:key="index" class="radioBox flex alignC">
<radio value="{{item.id}}" color="#11BE84" class="radio" checked="{{item.checked}}" />
<view>{{item.name}}</view>
</label>
</radio-group>
js部分
var checked = "progress[0].checked" //其中progress[0]中空号里只能存放0-9的数字
this.setData({
[checked]: true
})
但是这种方式有个缺陷,上面progress[0]中空号里只能存放0-9的数字,无法存放变量。无法实现我们的功能,我们需要加个判断
if (data.schedule == 0) {
var checked = "progress[0].checked"
}
if (data.schedule == 1) {
var checked = "progress[1].checked"
}
if (data.schedule == 2) {
var checked = "progress[2].checked"
}
else {
var checked
}
.
.
.
this.setData({
[checked]: true
})
利用这种笨方式实现了radio动态修改默认勾选某一项这个功能,如果大家有好的方法,欢迎找我留言交流。