【区分vue2和vue3下的element UI Input 输入框组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 中,Element UI 提供了 el-input 组件用于输入框功能。而在 Vue 3 中,Element UI 没有直接支持 Vue 3,但有一个名为 Element Plus 的项目提供了与 Element UI 类似但支持 Vue 3 的组件集。下面我将分别介绍 Vue 2 的 Element UI 和 Vue 3 的 Element Plus 中 el-input 组件的属性、事件和方法,并给出示例。

Vue 2 的 Element UI

el-input

属性:

  • value / v-model:绑定值,输入框的内容
  • type:输入框的类型,如 text、password 等
  • placeholder:占位符
  • disabled:是否禁用输入框
  • maxlength:最大输入长度
  • minlength:最小输入长度(Vue 2.6.0+)
  • show-word-limit:是否显示输入字数统计,与 maxlength 结合使用
  • clearable:是否可清空
  • readonly:是否只读
  • autofocus:是否自动获取焦点
  • autocomplete:原生的 autocomplete 属性
  • name:原生 name 属性
  • size:输入框尺寸,如 medium、small、mini
  • prefix-icon:输入框前置图标
  • suffix-icon:输入框后置图标
  • prefix:输入框前置内容
  • suffix:输入框后置内容
  • rows:输入框行数(仅在 type="textarea" 时有效)
  • autosize:自适应内容高度,仅对 type="textarea" 有效,可以是一个对象,如 { minRows: 2, maxRows: 6 }
  • resize:控制是否能被用户缩放(仅在 type="textarea" 时有效),可以设置为 none、both、horizontal、vertical
  • number:是否作为数字类型处理,仅在 type="number" 时有效
  • ...(其他原生 input 属性)

事件:

  • input:在输入时触发
  • change:在内容改变且失去焦点时触发
  • clear:在点击清除按钮后触发
  • blur:在失去焦点时触发
  • focus:在获取焦点时触发
  • ...(其他原生 input 事件)

方法:

  • el-input 本身没有提供方法,但你可以通过事件监听和 Vue 实例的属性来操作它。

示例:

vue 复制代码
<template>
  <el-input
    v-model="inputValue"
    placeholder="请输入内容"
    clearable
    @input="handleInput"
    @clear="handleClear">
  </el-input>
</template>

<script>
export default {
  data() {
    return {
      inputValue: ''
    };
  },
  methods: {
    handleInput(value) {
      console.log('输入的内容:', value);
    },
    handleClear() {
      console.log('输入框内容已清空');
    }
  }
};
</script>

Vue 3 的 Element Plus

在 Element Plus 中,el-input 组件的使用与 Vue 2 中的 Element UI 类似,但可能会有一些新的属性或调整。你应该查阅 Element Plus 的官方文档以获取最新的信息。

el-input

属性 和 事件 与 Vue 2 中的 Element UI 类似,但可能会有一些新增或移除的属性。

方法:

  • 与 Vue 2 相同,el-input 本身在 Element Plus 中也没有提供方法。

示例:

vue 复制代码
<template>
  <el-input
    v-model="inputValue"
    placeholder="请输入内容"
    clearable
    @input="handleInput"
    @clear="handleClear">
  </el-input>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const inputValue = ref('');

    const handleInput = (value) => {
      console.log('输入的内容:', value);
    };

    const handleClear = () => {
      console.log('输入框内容已清空');
    };

    return {
      inputValue,
      handleInput,
      handleClear
    };
  }
};
</script>

请注意,在 Vue 3 的 Composition API 中

相关推荐
前端双越老师5 分钟前
程序员 1v1 访谈系列第十二期:普通人没有核心竞争力
前端·ai编程·全栈
柳杉16 分钟前
没有写一行代码:我用 Codex 制作 了一个 3D 智慧展厅可视化大屏
前端·ai编程·three.js
IT_陈寒18 分钟前
Redis开发实战:从入门到精通
前端·人工智能·后端
恋猫de小郭19 分钟前
Flutter Impeller Vulkan 内存持续上涨,问题没想到是文字阴影
android·前端·flutter
0xBADCODE1 小时前
2026 强网杯 Web 题 cwp · 全链路复盘
前端·安全·web安全·网络安全·系统安全·ctf
麦麦麦当劳大王9 小时前
【油猴脚本】Boss直聘 岗位职责复制
开发语言·前端·javascript
小lu飞10 小时前
2026小红书小工具怎么制作:纯前端 ZIP 打包、沙箱限制与笔记挂载流程
前端·笔记·ai·ai编程
smallcelebration11 小时前
151 从0开始搭建后端项目
前端·firefox
wangruofeng11 小时前
手机和电脑传文件,除了微信还有 LocalSend
前端
excel11 小时前
基于 GPT 的自动发布文章接口方案:从一句话或一张图片生成并发布内容
前端·javascript·后端