2***@qq.com
2***@qq.com
  • 发布:2019-03-31 13:20
  • 更新:2019-04-12 12:46
  • 阅读:2179

【报Bug】v-for绑定对象,点击循环对象里面的按钮,没办法改变对象里面的属性

分类:uni-app
<view class="btn-box" :class="{show: item.isshow}">    
    <form report-submit="true" @submit="praiseSubmit">    
        <button class="like" plain formType="submit">    
            <uni-icon :class="{isPraise: item.isPraise}" class="iconfont iconmoment_like"></uni-icon>    
                {{item.isPraise ? '取消' : '赞'}}    
           </button>    
    </form>    
    <view class="comment" @tap="comment(item)">    
        <uni-icon type="" class="iconfont iconmoment_message"></uni-icon>    
            评论    
    </view>    
</view>    
<uni-icon class="iconfont iconmoment_interact" @tap="spand(item)"></uni-icon>  

v-for循环绑定的对象,点击spand方法,传入对象,没办法改变Item.isshow?

2019-03-31 13:20 负责人:无 分享
已邀请:
DCloud_uniAD_HDX

DCloud_uniAD_HDX

请提供完整代码

DCloud_UNI_FXY

DCloud_UNI_FXY

目前在编译为自定义组件模式下,事件中直接传入的对象,不是 vue 中的响应式对象,所以对该对象修改,不会触发页面渲染,你可以传入该对象标识,比如 id 之类,在事件方法里,根据 id 查找该对象做修改,举例

methods:{  
    spand(id) {  
        this.items.find(item => item.id === id).isshow = true  
    }  
}
  • 2***@qq.com (作者)

    好的谢谢,已经解决。后期有希望改成直接变成响应对象吗?

    2019-04-01 15:02

  • DCloud_UNI_FXY

    回复 2***@qq.com:理论上可以,后续会持续优化

    2019-04-01 21:11

该问题目前已经被锁定, 无法添加新回复