【发布时间】:2020-09-12 12:42:51
【问题描述】:
我看到了很多问题和答案,但它们并没有解决我的问题,我只是想在单击父组件菜单按钮时显示/隐藏抽屉应该打开,第一次加载后它可以工作很好,但是当我关闭它时,它会显示这个错误。我只是想在道具中传递真假
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: "drawer"
这就是我想要做的。
在父级中
<template>
<div @click="drawer = true" class="hamburger">
<span></span>
<span></span>
<span></span>
</div>
<mobile-drawer-menu :drawer="drawer"/>
</template>
<script>
import MobileDrawerMenu from "./MobileDrawerMenu";
export default {
components : {
MobileDrawerMenu
},
data() {
return {
drawer : false,
}
},
}
</script>
在孩子中
<template>
<div v-if="drawer" class="fixed top-0 left-0 z-200">
<div @click="drawer = false" class="overlay"></div>
<div class="drawer-wrapper">
<div class="drawer-close">
<div class="flex items-center justify-end">
<svg @click="drawer = false"></svg>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "MobileDrawerMenu",
props : {
drawer : {
type : Boolean,
required : true
}
},
}
</script>
【问题讨论】:
标签: vue.js