不知道是不是我用法的问题,更新了HBuilderX之后编译到小程序就会提示
[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: "list"
(附件是重现demo, 结构很简单)
我的结构如下:
<template>
<app-content>
<!-- 使用app-list遍历list的数据就会报错: [Vue warn]: Avoid mutating a prop -->
<app-list :list="list"></app-list>
<!-- 把app-list组件的内容写出来就不会报错 -->
<!-- <view v-for="(item,index) in list" :key="index">
{{item}}
</view> -->
</app-content>
</template>
<script>
import AppContent from '@/components/AppContent.vue'
import AppList from '@/components/AppList.vue'
export default {
components:{
AppContent,
AppList
},
data() {
return {
list: [1,2]
}
},
onLoad() {
// 联网请求数据
setTimeout(()=>{
this.list = [1,2,3,4,5,6] // 此处修改会提示错误: [Vue warn]: Avoid mutating a prop...
},2000)
}
}
</script>
其中 AppContent.vue:
<template>
<view>
<slot></slot>
</view>
</template>
<script>
export default {
}
</script>
其中 AppList.vue:
<template>
<view>
<view v-for="(item,index) in list" :key="index">
{{item}}
</view>
</view>
</template>
<script>
export default {
props:{
list: Array
}
}
</script>
丢了蜡笔的小新
更新后并没有修复啊,两个嵌套组件间的props并没有冲突但还是会报这个错
2019-06-20 19:06
丢了蜡笔的小新
只在小程序端微信开发者工具上出现
2019-06-20 19:09
丢了蜡笔的小新
APP的控制台也会报错,就h5端的浏览器不会
2019-06-20 19:22
DCloud_UNI_FXY
回复 丢了蜡笔的小新: 发测试工程
2019-06-20 19:45
丢了蜡笔的小新
这个问题的附件就是
2019-06-21 10:03
DCloud_UNI_FXY
回复 丢了蜡笔的小新: 使用的 HBuilderX Alpha 2.0.2 测试无问题
2019-06-21 11:56
丢了蜡笔的小新
回复 DCloud_UNI_FXY: 可以了,谢谢
2019-06-22 11:09
wenju (作者)
回复 DCloud_UNI_FXY: 期待发正式版本哈~
2019-06-27 14:19
aliang888
2.3.3.20190924-alpha问题依然存在,微信端正常,在支付宝小程序端就不正常了
2019-10-13 19:27