父组件给子组件传参 el-dialog 试例
父组件给子组件传参 子组件el-dialog试例
用watch解决直接更改属性 问题
vue.esm.js?65d7:610 [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: "isVisible"
vue.esm.js?65d7:610[Vue warn]:避免直接改变属性,因为每当父组件重新渲染时,该值都将被覆盖。相反,请使用基于属性值的数据或计算属性。道具正在变异:“可见”
父组件
</template>
</div>
<el-button
type="primary"
size="small"
@click="addActive = true;"
>添加活动</el-button
>
<addActive :addActive.sync="addActive"></addActive>
</div>
</template>
<script>
import addActive from "./components/addActive";
export default {
components: {
noSpecial,
addActive
},
data() {
return {
addActive: false,
}
},
</script>
子组件
<template>
<div>
<el-dialog
:close-on-click-modal="false"
custom-class="addActive"
title="请选择需要加入本专题的活动"
:visible.sync="addActivevis"
width="650px"
@close="close"
>
<el-tabs v-model="activeName1">
<whole></whole>
<conduct></conduct>
<end></end>
</el-tabs>
<el-pagination
style="margin-top:30px;"
background
:page-size="6"
@current-change="handleCurrentChange"
layout="total, prev, pager, next, jumper"
:total="pages.total"
>
</el-pagination>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogVisible = false"
>添加</el-button
>
</span>
</el-dialog>
</div>
</template>
<script>
import whole from "./whole";
import conduct from "./conduct";
import end from "./end";
export default {
components: {
whole,
conduct,
end
},
watch: {
addActive(newVal) {
this.addActivevis = newVal;
}
},
props: ["addActive"],
data() {
return {
addActivevis: false,
dialogVisible: false,
activeName1: "first",
pages: {
current_page: 1,
total: 0,
last_page: 1,
per_page: 6
}
};
},
methods: {
// 点击分页
handleCurrentChange(val) {
this.pages.current_page = val;
this.getActiveList();
},
close() {
this.addActivevis = false;
this.$emit("update:addActive", false);
}
}
};
</script>
<style lang="scss" scoped>
</style>

浙公网安备 33010602011771号