先看下效果
主页代码如下
项目使用的是Vue3+vite, 下载后,直接pnpm i安装依赖, pnpm dev 就是可以跑起来
<el-button type="warning" round @click="openDia">打开弹框</el-button>
<el-dialog v-model="dialogTableVisible" title="业务" width="800">
<el-select v-model="value" placeholder="Select" @visible-change="visibleChange">
<template #empty>
<div style="padding:15px;">
<div class="select-header">
<helloWord></helloWord>
</div>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="date" label="Date" width="180" />
<el-table-column prop="name" label="Name" width="180" />
<el-table-column prop="address" label="Address" />
</el-table>
</div>
</template>
</el-select>
</el-dialog>
代码解释,点击按钮,弹窗一个框,框里面有个下拉框,下拉框里面使用的是空模板-插槽
插槽中有一个二级组件和表格显示。
组件代码
<script setup>
import { ref } from 'vue'
import { Filter } from '@element-plus/icons-vue'
const filterObjLength = ref(-1);
const openFilter = () => { };
const value = ref("A");
</script>
<template>
<el-popover placement="right" :width="400" trigger="click" :teleported="false">
<template #reference>
<el-button :icon="Filter"></el-button>
</template>
<el-select v-model="value" placeholder="Select">
<el-option value="A">A</el-option>
<el-option value="B">B</el-option>
<el-option value="C">C</el-option>
</el-select>
</el-popover>
</template>
<style scoped>
.read-the-docs {
color: #888;
}
</style>
组件中是一个弹窗框,通过点击按钮显示这个框,这个框里面是一个select下拉框。
问题:
在组件中,选择这个select下拉框,例如选择B,选择后关闭最上面的那个select,也就是使用空插槽的select。
个人能力有限实在找不到问题和解决办法了, 求教各位前端大佬帮帮忙。
源码文件:demo下载
小弟在此跪谢了。
标签:const,element,plus,组件,ref,下拉框,select From: https://www.cnblogs.com/fuyu-blog/p/18248331