Bug
单独改变一个值,其余的样式就不渲染了
—————————————————————————————————————
代码
<!--student/pages/reservation/evaluation/component/label/label.wxml-->
<view class='label_box'>
<view wx:for='{{list}}' data-item="{{item}}" bindtap='click'>
<text class="{{item.statu==true?'select':''}}">{{item.text}}</text>
</view>
</view>
/* student/pages/reservation/evaluation/component/label/label.wxss */
.label_box{width: 100%; padding: 5px 0; overflow: hidden;}
.label_box text{float: left; padding: 0 10px; border: 1px solid #ddd; color: #666; font: 12px/25px '微软雅黑'; border-radius: 4px; margin: 5px;}
.label_box text.select{border-color:#f60; color: #fff; background: #f60;}
//快捷标签
change_label(e) {
for (var i = 0; i < this.data.label_list.length;i++){
console.log(this.data.label_list[i].id== e.detail.label.id)
if (this.data.label_list[i].id== e.detail.label.id){
this.data.label_list[i].statu = !this.data.label_list[i].statu
console.log(this.data.label_list)
this.setData({ label_list: this.data.label_list})
}
}
},
—————————————————————————————————————
—————————————————————————————————————
点击前
—————————————————————————————————————
—————————————————————————————————————
点击后
点击第二个标签以后,数据看起来是对的,同样的样式第二个能渲染第三个却不显示了,是我的代码有问题嘛
你试一下直接在组建内部setData这个prop值呢,┑( ̄Д  ̄)┍
我测了一下,确实有问题,应该是自定义组件引用的bug,回头好好看看
默认都选中的话是没问题的,两个都能选中,再点还不行
——————————————————————————
点击后
如果初始化默认两个都选中会怎样呢
问题还在。自己顶顶
@赵子龙 一开始是全部样式写的,那样也会把样式顶掉,顶了之后连基本样式都没了,还不如现在这样还是谢谢你啊
哦哦,刚刚试了下,没有变化。点击的当时appdata的数据就对应改变了,这里的值是对的。切wxml再回来也不会发生变化,应该不是延迟显示
我的意思是你点下别的内容,比如wxml,然后再点回appdata看是不是变了
你把后代选择器统一都改为class选择器,组件中的样式统一写成class选择器试试,不行我也没招了
写了的,没有截图,看APPdata里的数据是对的