aliang888
aliang888
  • 发布:2019-10-14 15:50
  • 更新:2020-07-01 17:36
  • 阅读:1050

【报Bug】[Vue warn]: Avoid mutating a prop directly since...

分类:uni-app
Vue

在支付宝小程序端出现这个问题,看交流社区里很久很久以前就有人反应了,但依然有这个问题,在微信小程序端是一切正常

[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated

使用场景是这样子的,头部一个tabbar,下面内容区一个swiper+scroll-view+uni-load-more,
也就是说每个scroll-view里面都会有一个uni-load-more这时候通过父组件传值到子组件(load-more)页面时,就会报上面的错,然后百度了一通,都是说什么子组件不要直接修改父组件prop传来的值,子组件压根啥都没有操作啊...

{{item.text}}
    <swiper :current="tabIndex" class="swiper-box" style="flex: 1;" duration="300" @change="changeTab">  
        <swiper-item v-for="(tabItem,tabIndex) in navList" :key="tabIndex">  
            <scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData()">  

在这里加入了官方的uni-load-more组件

            </scroll-view>  
        </swiper-item>  
    </swiper>  

开发工具版本:2.3.3.20190924-alpha

2019-10-14 15:50 负责人:无 分享
已邀请:
twolun

twolun

赶快解决这个问题啊,新版HbuilderX就全是这个问题

543423044@qq.com

543423044@qq.com

+1,我的也是支付宝有问题,但是其他的没有问题

darrenblog

darrenblog

我也是,烦死了,后悔选uni了

1148005834@qq.com

1148005834@qq.com

是的,一堆这个错,但是好像没有影响使用。可已尽快解决嘛 @官方

水域心诚

水域心诚

这个问题解决了么

  • 1148005834@qq.com

    main.js里面强制过滤吧

    Vue.config.warnHandler = function (msg) {

    if (!msg.includes('Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders.')) { // uniApp bug: https://ask.dcloud.net.cn/question/71966

    return console.warn && console.warn(msg)

    }

    }

    2020-07-02 10:02

  • 水域心诚

    回复 1148005834@qq.com: 这个只能说是不会看见了,实际问题还在,官方也不修复

    2020-07-02 10:43

要回复问题请先登录注册