打开弹框

【前端求助帖】关于使用element-plus select 模板嵌套popover中使用select选择后,上一个select自动关闭的问题

element,plus,select,popover · 浏览次数 : 11

小编点评

这段代码看起来是 Vue 3 和 Vite 的项目,使用了 Element Plus 的 Dialog 和 Select 组件。从描述中,你遇到了在使用空插槽的 Select 下拉框中,选择某个选项后,最顶部的那个 Select 组件被关闭的问题。 这里是一个简易的解决方案: 1. 在使用空插槽的 Select 组件上添加 `ref` 属性,以便在 Vue 实例中使用这个组件: ```html A B C ``` 2. 在 Vue 实例的方法中,为这个 `ref` 添加一个 `visibleChange` 事件监听器,用于处理选择变化: ```javascript export default { methods: { visibleChange(value) { if (value === 'B') { this.$refs.selectComponent.visible = false; } }, }, }; ``` 这样,在选择 B 之后,最顶部的那个 Select 组件应该会关闭。 不过,请注意,这种方法可能会导致顶部 Select 组件一直处于关闭状态,除非你手动将其打开。为了解决这个问题,你可以考虑在 Vue 实例的 `data` 属性中初始化 `dialogTableVisible` 为 `false`,并在打开弹窗时将其设置为 `true`。这样,当选择发生变化时,根据选择的值来更新 `dialogTableVisible`,从而控制弹窗的显示与隐藏。

正文

先看下效果

主页代码如下

项目使用的是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下载

小弟在此跪谢了。

 

与【前端求助帖】关于使用element-plus select 模板嵌套popover中使用select选择后,上一个select自动关闭的问题相似的内容:

【前端求助帖】关于使用element-plus select 模板嵌套popover中使用select选择后,上一个select自动关闭的问题

先看下效果 主页代码如下 项目使用的是Vue3+vite, 下载后,直接pnpm i安装依赖, pnpm dev 就是可以跑起来 打开弹框

bash shell 无法使用 perl 正则

哈喽大家好,我是咸鱼。今天跟大家分享一个关于正则表达式的案例,希望能够对你有所帮助 案例现象 前几天有一个小伙伴在群里求助,说他这个 shell 脚本有问题,让大家帮忙看看 可以看到,这个脚本首先将目标文本文件的名字当作该脚本的第一个参数($1)传递进去,然后查看这个文本文件的内容(cat $1),

[转帖]一文看尽 JVM GC 调优

https://zhuanlan.zhihu.com/p/428731068 首先看一个著名的学习方法论 向橡皮鸭求助学会提问,提问也是一门艺术提问前,先投入自己的时间做好功课发生了什么事情问题的基本情况你投入的研究和发现能正确提出你的问题,你的问题差不多已经解决一半深入的思考你的问题,大多情况下,

[转帖]shell脚本之awk命令——按列求平均值、最大值、最小值

文章目录 写在前面awk求平均值awk求最大值awk求最小值awk求极值、均值的实际应用 写在前面 awk命令求极值和均值需要熟悉该命令的基本用法,如果你不熟悉该命令,请先阅读shell脚本之awk命令——分隔符介绍一文。本篇博文带你熟悉求平均值、最大值、最小值的方法,并以实际的应用带你进一步掌握a

[转帖] 使用uniq命令求并集交集差集

原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 uniq# uniq是linux上非常有用的一个命令,从字面意思上就能看出来,它可以用来去重。 但使用uniq的前提是文件是排好序的,所以我们经常会搭配sort排序命令来一起使用uniq,如下: $ cat test.t

[转帖]Redis学习四(运维指南).

阅读目录 一、上线规划 二、常见运维操作 三、测试方法 回到顶部 一、上线规划 一般 redis 的参数配置都在 redis.conf 中,在上线前根据实际环境配置好合适参数,能有效提高 redis 的可用性。 redis 的运行机器 CPU 不求核数多,但求主频高,Cache大,因为 redis

行列式求值,从 $n!$ 优化到 $n^3$

前置知识 \(\sum\) 为累加符号,\(\prod\) 为累乘符号。 上三角矩阵指只有对角线及其右上方有数值其余都是 \(0\) 的矩阵。 如果一个矩阵的对角线全部为 \(1\) 那么这个矩阵为单位矩阵记作 \(I\)。 对于矩阵 \(A_{n,m}\) 和矩阵 \(B_{m,n}\) 满足 \

高一下三调模拟赛5.13(附关于二分图匈牙利建边的详细思考)

前言注:本篇为知识性内容,A题附详解关于匈牙利算法求最大独立子集难以理解的建边问题的思考,若有不当之处感谢指出。暂时只写了A篇题解,以供帮助大家理解相关问题,剩余题解会进行补充。 又是小集训的一周,总要伴随着模拟赛... 还是五道题目: A. 攻击装置 B. 循环 C. 漫步 D. 穿越 E. 结队

#PowerBi 10分钟学会,以X为结尾的聚合函数

前言 在Power BI中,我们经常需要对数据进行聚合计算,比如求和、求平均、求最大值等。 Power BI提供了一系列的聚合函数,可以用来对表中列的值进行聚合然后返回一个值。这些函数通常只需要一个参数,就是要聚合的列名。如SUM(‘销售表’[销量]),就是求销售表里的销量总和。 但是有时候,我们需

KPM算法求字符串的最小周期证明

先给出公式 ans = n - LPS[n-1] 其中ans为最小周期,n为给出的由假设的周期字符串中提取出的子串长度,LPS为前缀函数,n-1为字符串最后的位置下标 证明如下 证明ans = n - LPS[n-1],思路: (1) 证明特殊情况,即先对完整周期字符串进行证明,这时候的字符串组成是