介尘部落

文学|音乐|休闲娱乐|计算机技术|地球科学|社会学——知识成就命运


支付宝小程序radio-group组件设置选中状态不生效

这个问题表现为当进入页面第一次点击button的时候setData是生效的,radio是可以看到被选中了,当我手动选择了其他radio,再点button就不生效了,data里面的checked值是改变了,但是页面没变,radio没被选中。

经过查找,了解到这个组件存在的一些问题,是因为手动选中后并没有更新绑定数据data当中的状态值。所以需要手动更新绑定数据状态。参考使用一下代码。

<radio value="{{item.value}}" checked="{{item.checked}}" disabled="{{item.disabled}}" />
上述代码改为:
<radio value="{{index}}" checked="{{item.checked}}" disabled="{{item.disabled}}" />

// js里这样写。
radioChange(e) {
  const { value = 0 } = e.detail
  let { items = [] } = this.data
  items.map(item => item.checked = false) // 将数组里所有的选中设置为未选择
  items[value].checked = true // 将点击这一项设置为选中
  this.setData({
    items
  })
},

代码更能说明问题,你现在知道原因了吧。

阅读全文
公众号-介尘阅读时光
赞赏支持

0 Responses to “支付宝小程序radio-group组件设置选中状态不生效”

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

×