在父组件中:
<!-- 添加 编辑 删除 搜索 -->
<serchObj :checkCon="multipleSelection"
v-on:update="update"
v-on:add="add"
v-on:delete="delete1"
v-on:search="search">
</serchObj>
data() {
return {
multipleSelection: [],
}
}
<script>
handleSelectionChange(val) {
console.log(val)
this.multipleSelection = val;
},
</script>
在子组件:
<template>
<div class="LedgerSearch">
<div class="handle">
<el-button
type="primary"
:class="{'disab': disableconup }"
:disabled="disableconup"
@click="updateCon"
icon="el-icon-edit"
size="small"
>编辑</el-button>
<el-button
type="primary"
:class="{'disab': disablecon }"
:disabled="disablecon"
@click="deleteCon"
icon="el-icon-delete"
size="small"
>删除</el-button>
<el-button type="primary" icon="el-icon-plus" size="small" @click="addCon">添加</el-button>
</div>
<div class="Search">
<input type="text" class="SearchInput" v-model="searchInput">
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="seachCon"
style="background-color: #1ab298"
>搜索</el-button>
</div>
复制代码
<script>
export default {
name: "",
data() {
return {
disablecon: true, //禁止选中
disableconup: true, //编辑禁止选中
searchInput: "", //搜索
Title: "", //弹框标题
parTable: [], //父组件的值
};
},
props: ["checkCon"], //接受父组件的传值
watch: {
checkCon: {
//监听值变化
handler(cval, oval) {
this.parTable = cval;
if (cval.length > 0) {
this.disablecon = false;
if (cval.length > 1) {
this.disableconup = true;
} else {
this.disableconup = false;
}
} else {
this.disablecon = true;
this.disableconup = true;
}
},
deep: true//进行深度监听
}
},
methods: {
// 更新
updateCon(){
this.$emit('update','') //子组件向父组件发送方法,并传值
},
// 搜索
seachCon() {
console.log(this.searchInput);
this.$emit('search',this.searchInput) //子组件向父组件发送方法,并传值
},
// 添加
addCon() {
this.$emit('add','') //子组件向父组件发送方法,并传值
},
deleteCon(){
this.$emit('delete',this.parTable)
}
},
mounted() {}
};
</script>
复制代码