vue-tabel 中使用 el-autocomplete 出现的问题

2023-11-20

必须加   :popper-append-to-body="false"

             :popper-class="vxetableignoreclear"

我自己用的话缺一不可

说一下我自己项目中遇到的问题吧,我写的是表格中套表格,会出现就是当下拉选的时候用@selete是可以用的,但是用@blur也可以触发 , 但是仅限于 失去焦点点在表格内才会触发,

在其他地方是不会触发的

我查了一下原因  Element-UI el-select和el-autocomplete的select  是冲突了

在二级表格的时候我就只用了@change  方法

  

但是这还里面还有一个bug   就是输入的时候后面会有一个小删除按钮,当我点击删除的时候,@change事件传的值不是为空,而是修改之前的值   索性我就不用×   直接把他disaplay :none 了

所以

1、如果说没有嵌套表格, 用为下面的代码就可以

2、如果有嵌套表格,且el-autocomplete在二级, 那么方法只用@change   , 且把x  隐藏掉

完整代码

<template>
    <div>
        <vxe-table
            border
            show-overflow
            :data="tableData"
            :column-config="{ resizable: true }"
            :edit-config="{ trigger: 'dblclick', mode: 'cell' }"
        >
            <vxe-column type="seq" width="60"></vxe-column>
            <vxe-column field="name" title="Name" :edit-render="{}">
                <template #edit="{ row, rowIndex }">
                    <el-autocomplete
                        class="inline-input w-50"
                        v-model="row.name"
                        :popper-class="vxetableignoreclear"
                        :fetch-suggestions="querySearch"
                        clearable
                        placeholder=""
                        @change="threeInput(row, rowIndex, Frow)"
                        @select="threeInput(row, rowIndex, Frow)"
                        :popper-append-to-body="false"
                    />
                </template>
            </vxe-column>
        </vxe-table>
    </div>
</template>

<script setup>
import { ref } from "vue";
let vxetableignoreclear = ref("vxe-table--ignore-clear");
const tableData = ref([
    {
        id: 10001,
        name: "Test1",
        role: "Develop",
        sex: "Man",
        age: 28,
        address: "test abc",
    },
    {
        id: 10002,
        name: "Test2",
        role: "Test",
        sex: "Women",
        age: 22,
        address: "Guangzhou",
    },
    {
        id: 10003,
        name: "Test3",
        role: "PM",
        sex: "Man",
        age: 32,
        address: "Shanghai",
    },
    {
        id: 10004,
        name: "Test4",
        role: "Designer",
        sex: "Women",
        age: 24,
        address: "Shanghai",
    },
]);
let restaurants = ref([
    { label: "111", value: "111" },
    { label: "222", value: "222" },
    { label: "333", value: "333" },
    { label: "444", value: "444" },
    { label: "555", value: "555" },
    { label: "666", value: "666" },
]);
//下拉
const querySearch = (queryString, cb) => {
    const results = queryString
        ? restaurants.value.filter(createFilter(queryString))
        : restaurants.value;
    cb(results);
};
const createFilter = (queryString) => {
    return (restaurant) => {
        return (
            restaurant.value
                .toLowerCase()
                .indexOf(queryString.toLowerCase()) === 0
        );
    };
};

const threeInput = (row, rowIndex, Frow) => {
    console.log(row, rowIndex, Frow, "111");
};
</script>

<style scoped lang="less">
/* //去除下拉×小图标 */
:deep(.el-input__suffix-inner) {
    display: none;
}
</style>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue-tabel 中使用 el-autocomplete 出现的问题 的相关文章

随机推荐

  • 求一个数组的最大值最小值及其下标

    求一个数组的最大值最小值及其下标 思路 假定一个数为最大值 如果有个数比假定的最大值还大 那么该数就为最大值 最小值同理 使用for循环 public class MaxMin public static void main String
  • java 对象序列化磁盘_java对象的序列化以及反序列化详解

    一 概念 序列化 把创建出来的对象 new出来的对象 以及对象中的成员变量的数据转化为字节数据 写到流中 然后存储到硬盘的文件中 反序列化 可以把序列化后的对象 硬盘上的文件中的对象数据 读取到内存中 然后就可以直接使用对象 这样做的好处是
  • Could not resolve dependencies for project

    ERROR Failed to execute goal on project open common Could not resolve dependencies for project com wt open open common j
  • JavaBean的Scope属性

    Scope 属性代表了Javabean对象的生存时间 可以是page request session和application中的一个 它们分别代表了JavaBean的四种不同生命周期和四种不同的使用范围 page的生命周期和作用范围是4种类
  • 【大学生软件测试基础】白盒测试 - 控制流图 - 01

    任务1 画出程序流程图 任务2 画出控制流图 任务3 根据程序环形复杂度的计算公式 求出程序路径集合中的独立路径数目 任务4 根据环形复杂度的计算结果 源程序的基本路径集合中有多少条独立路径 任务5 设计测试用例 1 程序流程图 2 控制流
  • git资料

    IDEA中Git的使用 https www cnblogs com javabg p 8567790 html 如何用git将项目代码上传到github https blog csdn net laozitianxia article de
  • Centos 7 大硬盘分区(>2TB) - parted & xfs

    Centos 7 针对超过2T的大硬盘 采用parted分区 1 运行parted命令 进入parted界面后 运行p打印已有分区信息 找到前一个分区终止点 如 2 2028kb 51 2GB xfs 其至终点应为51 2GB 运行mkpa
  • RabbitMQ高级特性(四):RabbitMQ之TTL(存活时间/过期时间)

    RabbitMQ高级特性 四 RabbitMQ之TTL 存活时间 过期时间 TTL 全称 Time To Live 存活时间 过期时间 当消息到达存活时间后 还没有被消费 会被自动清除 RabbitMQ可以对消息设置过期时间 也可以对整个队
  • Symbol的理解和使用

    Symbol的诞生 也就是Symbol存在的意义 之前我们的对象属性的数据类型都是字符串 没有其他的 所以会导致属性名的重复 导致属性值被覆盖的情况 比如 你使用了一个他人提供的对象 但又想为这个对象添加新的方法 在添加的操作就很容易覆盖原
  • java中List集合三种获取集合元素方式

    java中List集合三种获取集合元素方式 1 for 2 迭代器 3 增强for循环 List集合常用方法 List作为Collection集合的子接口 不但继承了Collection接口中的全部方法 而且还增加了一些根据元素索引来操作集
  • IntelliJ IDEA出现红色字体解决办法

    如图所示 问题 ApiModel显示红色 点击alt enter提示需要添加io swagger包到classpath中 因为在pom xml中没有把此包引入 如图 解决方案 在pom xml中添加io swagger包 经历1 当我根据I
  • IDE简介

    集成开发环境 IDE Integrated Development Environment 用于提供程序开发环境的应用程序 一般包括代码编辑器 编译器 调试器和图形用户界面等工具 集成了代码编写功能 分析功能 编译功能 调试功能等一体化的开
  • Atlantis 【POJ - 1151】【扫描线模板题+线段树更新】

    题目链接 是一道扫描线的模板题 也是我的第一道扫描线的题了 对扫描线也算是有了第一次的理解 无非就是更新新的向上的区间长度 然后去查询就是了 而查询是O 1 的 因为可以通过树的最上根节点得到的 include
  • KMP比较简单的讲法。

    转载链接 http blog csdn net yearn520 article details 6729426 我们在一个母字符串中查找一个子字符串有很多方法 KMP是一种最常见的改进算法 它可以在匹配过程中失配的情况下 有效地多往后面跳
  • 捕鱼游戏源码(数值+完整项目资源)

    目前捕鱼游戏的玩法 逐渐有这些趋势 捕鱼玩法 消除类玩法 捕鱼玩法 模拟经营玩法 捕鱼玩法 建造养成玩法 这些趋势已经有龙头企业逐渐开始做出尝试 但是对大部分团队来讲 对垂直领域的理解不够深刻 对产品理解不够深刻 团队没有沉淀和积累 通常都
  • chart.js使用学习——柱状图(2:常用属性设置)

    本文介绍柱状图常用属性及效果 柱状图中有部分常用属性与折线图用法相同 本文仅列出这些属性的简要说明 不再详细说明 base 设置图形绘制时的基准值 数值型 默认值为空 设置的值为数值轴上的值 base值未设置 则绘制的柱状图沿数值轴方向的起
  • [解决报错] Invalid attempt to spread non-iterable instance.In order to be iterable, non-array objects mu

    主要原因是因为用let of 方法遍历的时候 有一个参数为null 没有iterable 所以数据处理错误 换成for循环就好
  • 常用搜索引擎使用技巧

    1 指定站内搜索 使用site指定在某网站内搜索 如只在知乎中搜索 liuwons liuwons site zhihu com 2 精确匹配 使用双引号来指定精确匹配单词或短语 如精确搜索 liuwons liuwons 3 模糊搜索 使
  • 通讯编程001——Nodejs快速开发Modbus TCP Master

    本文介绍如何利用ModbusJs库快速开发Modbus TCP Master 相关源码请登录网信数智 wangxinzhihui com 下载 ModbusJs是一个基于Nodejs的Modbus TCP的开发库 目前支持的功能函数有 re
  • vue-tabel 中使用 el-autocomplete 出现的问题

    必须加 popper append to body false popper class vxetableignoreclear 我自己用的话缺一不可 说一下我自己项目中遇到的问题吧 我写的是表格中套表格 会出现就是当下拉选的时候用 sel