给禁用的 el-input 添加点击/双击事件

被禁用的 html 标签,无法响应事件

解决方案1:在父元素上添加事件

  • el-input 外添加 div
  • 在 div 上添加点击事件
    若对事件响应范围限制不严,可以在 el-form-item 上添加点击事件(点击表单标签时也会触发事件),必要时需加上事件修饰符 .native
  • el-input 添加样式 position: relative; z-index: -1,在原位置下降一层
    (若因其他样式影响,el-input 下降一层后无法显示,则可在 div 上添加 position: relative; z-index: 1 让父元素上升一层)
html 复制代码
<script setup lang="ts">
import { ref } from "vue";

let form = ref({ name: "" });

function handleClick() {
  alert("点击了");
}
</script>

<template>
  <el-form ref="form" :model="form" label-width="80px">
    <el-form-item label="活动名称">
      <div @click="handleClick">
        <el-input
          style="position: relative; z-index: -1"
          v-model="form.name"
          disabled
        ></el-input>
      </div>
    </el-form-item>
  </el-form>
</template>

解决方案2:改用 readonly

html 复制代码
<script setup lang="ts">
import { ref } from "vue";

let form = ref({ name: "巴黎奥运会" });

function handleClick() {
  alert("点击了");
}
</script>

<template>
  <el-form :model="form" label-width="80px">
    <el-form-item label="活动名称">
      <el-input v-model="form.name" readonly @click="handleClick"></el-input>
    </el-form-item>
  </el-form>
</template>
相关推荐
你挚爱的强哥2 天前
【sgCreateQrcode】自定义组件:模仿草料二维码做了一个简单的二维码制作组件
javascript·vue.js·elementui
看客随心3 天前
element-ui table表格 tr间距\行间距设置
vue.js·ui·elementui
阿奇__3 天前
Vue 开发总结:表单重置不彻底导致日期组件交互失效
vue.js·elementui·交互
Qlittleboy4 天前
<el-form @submit.native.prevent> elementUI的里面的input的元素的回车事件后总是自动提交表单
前端·javascript·elementui
xiegwei4 天前
android Compose 图片星星评分组件
android·前端·elementui
阳光雨滴5 天前
树级结构部门选择和人员选择联动功能处理
javascript·vue.js·elementui
一个写bug的人5 天前
elementui中表格的表头固定 侧边列表固定 滚动条在头部 且使用鼠标滚轮横向时 可同步给顶部滚动条
前端·javascript·elementui
optimistic_chen7 天前
【Vue3入门】Pinia 状态管理 和 ElementPlus组件库
前端·javascript·vue.js·elementui·pinia·组件
何中应12 天前
<el-tree>标签问题
前端·vue.js·elementui
天天向上102412 天前
vue2 el-table使用css的方式实现列表自动滚动
css·vue.js·elementui