当前位置: 首页 > 知识库问答 >
问题:

前端 - 怎么不触发el-select的关闭面板?

有权
2023-11-06
<template>  <div class="app-container">    <el-select v-model="serviceName" placeholder="请选择" size="mini">      <el-option        v-for="(item, index) in serviceList"        :key="index"        :label="item.service_alias"        :value="item.service_name"      />      <el-pagination        :page-sizes="[100, 200, 300, 400]"        :page-size="100"        layout="total, sizes, prev, pager, next, jumper"        :total="400"      >      </el-pagination>    </el-select>  </div></template><script>export default {  data() {    return {      serviceName: null,      serviceList: [        {          service_alias: 1,          service_name: 2        }      ]    };  }};</script>


怎么让点击这里的不会把这个el-select的弹出框给关闭?现在是会关闭

共有2个答案

颜高朗
2023-11-06

这个el-select-dropdow是插入到body上的,它的点击事件会冒泡到body,然后使el-select-dropdow隐藏,所以想阻止它可以从两个方面入手。一是阻止它的点击事件,但是这个是分页组件内的options,无法去修改,二是让它不插入到body,在element-plus中可以设置teleported,需要版本2.3.13及以上,在element-ui中没找到相应属性,应该做不了。可以看看能不能曲线救国,比如舍弃分页的select,单独写个select和分页进行联动。

楚嘉胜
2023-11-06

要防止el-select的弹出框被关闭,你可以使用append-to-body属性,并将其设置为true。这将使弹出框附加到文档的主体,而不是关闭点击事件。

在模板中,你可以将append-to-body属性添加到el-select元素中,如下所示:

<el-select v-model="serviceName" placeholder="请选择" size="mini" append-to-body="true">  <!-- 其他内容 --></el-select>

这样设置后,点击el-select的弹出框外部将不会关闭它。

 类似资料:
  • 如图:el-select使用文档提供的focus事件和blur事件,当focus的时候执行blur,使其失去焦点收起下拉面板。但是执行了blur事件后,触发了2次focus,想问问原因,如何解决 业务需求是:点击下拉框的时候,根据条件判断是否要展开下拉面板,不用el-select的disabled禁止,所以用以上方式实现,但是有触发2个的问题

  • 在el-pagination分页组件中,Size子组件渲染函数中使用了el-select,该select中使用了on-input这一属性,但是el-select源码中并没有看到on-input这一prop,请问on-input是什么? el-pagination中的el-select https://github.com/ElemeFE/element/blob/dev/packages/pagi

  • 问题内容: 我正在寻找一个DOM事件,该事件可以通过JavaScript进行监听,以了解通过打开选择元素(但未更改任何选项)然后通过关闭选择元素(在页面上其他位置)来关闭该元素。 这不是选择事件,因为选择保留了焦点。同样,这不是一些其他元素或文档或事件或窗口,文档或身体。 这不是选择事件,因为选择中的任何选项都没有更改。 我不关心旧版Internet Explorer,而只是在符合标准的现代浏览器

  • 以下是elmentui2的源码: 我看明明是挂载到tbody下的,为什么悬浮提示的时候显示的是在body节点下?而且每次都销毁之前的创建一个新的,这种做法是怎么做到的?

  • 之前启用 docker buildx 之后,我的 docker build 也变成 docker build 了!!! 可恶,怎么关闭 docker buildx? 执行 docker buildx uninstall 没有效果 ~/.docker/config.json 里面也没有别名