收藏
回答

onLoad不能更新 checkbox的选择状态?

问题模块
API和组件

data: {

vDate: '2017-11-11',    //预定日期星期

vIsMoon: false,         //中午

vIsNight: false,        //晚上

vIsDiscount: false,     //折扣

vIsPlayVedio: false,    //播放资料

IsList: ['true', 'false', 'true', 'false'],

},


onLoad: function (options) {

this.setData({

vIsMoon: this.data.IsList[0],

vIsNight: this.data.IsList[1],

vIsDiscount: this.data.IsList[2],

vIsPlayVedio: this.data.IsList[3]

});

},


<checkbox-group bindchange="checkboxChange">

<view class="Oneline">

<view class="TwolineItem"><checkbox value="0" checked="{{vIsMoon}}" bindtap="IsMoonChecked"/> 中午</view>

<view class="TwolineItem"><checkbox value="1" checked="{{vIsNight}}"/> 晚上</view>

</view>

<view class="Oneline">

<view class="TwolineItem"><checkbox value="2" checked="{{vIsDiscount}}"/> 亲情价</view>

<view class="TwolineItem"><checkbox value="3" checked="{{vIsPlayVedio}}"/> 播放资料</view>

</view>

</checkbox-group>


期望这样:


实际:





最后一次编辑于  2017-11-16  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    2017-11-16

    onLoad只会在页面打开的时候加载一次,建议你使用onShow

    2017-11-16
    赞同
    回复
  • 夏周一
    夏周一
    2017-11-16

    this.setData({

    vIsMoon: this.data.IsList[0],

    vIsNight: this.data.IsList[1],

    vIsDiscount: this.data.IsList[2],

    vIsPlayVedio: this.data.IsList[3]

    });

    放在onShow中也是显示为全选了,搞不懂为什么会全选

    2017-11-16
    赞同
    回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    2017-11-16

    你默认只显示一个☑️不就好了?

    2017-11-16
    赞同
    回复
  • 夏周一
    夏周一
    2017-11-16

    想要动态显示啊,但是只能显示全选

    2017-11-16
    赞同
    回复