收藏
回答

radio组件的示例代码WXML中,radio 的属性checked赋值是不是写错了

https://developers.weixin.qq.com/miniprogram/dev/component/radio.html

此处的checked="true"实际效果是所有radio都被check住,要实现示例图上的效果的话此处应该是checked="{{item.checked}}"吧,和js中的checked属性绑定,而不是直接设个true

回答关注问题邀请回答
收藏

2 个回答

  • brave
    brave
    2020-12-07

    嗯!

    2020-12-07
    有用 1
    回复
  • 无心之雨
    无心之雨
    2021-01-14

    其实也说不上错或对,因为api本身就有问题。

    这样的结果就是最后一个肯定被选中,只要你写了,如果与data()里的值不对应也没关系,'checked'本身就与值无关,只与这个属性本身有关,有即是选中,无即是没选中,所以等号后面写啥没多大关系。

    但是,如果右边是Boolean值就不太一样了,有效果。不巧的是这与bind发生了冲突。radio本身就有点击选中的功能,从实际情况来看,这种自身事件发生的要比你绑定在group中的事件要早。如果你用bind绑定了checked的属性,其后在bindchanged中修改对应的属性值 ,那么恭喜你。你会看到radio组件会在秒选后消失一下然后再次被选中……。有少数情况你看不到,但是频率高到正常人都能看到的地步。最可怕的是有少数概率你会发现点击后没有任何反应!!!,再点会看到上次点击的项被选中了……!!!没错,超出渲染时间的响应事件。(如果你此时触发强制渲染,就能看到一选项会从错误项变成正确项,就是这个意思了。)

    总的来说group下的radio绑定data()中的属性值会发生多次事件,有可能会出现数据与视图不一致的情况,而且会闪!!!不友好。

    2021-01-14
    有用
    回复
登录 后发表内容
问题标签