【区分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:输入框的类型,如 textpassword
  • placeholder:占位符
  • disabled:是否禁用输入框
  • maxlength:最大输入长度
  • minlength:最小输入长度(Vue 2.6.0+)
  • show-word-limit:是否显示输入字数统计,与 maxlength 结合使用
  • clearable:是否可清空
  • readonly:是否只读
  • autofocus:是否自动获取焦点
  • autocomplete:原生的 autocomplete 属性
  • name:原生 name 属性
  • size:输入框尺寸,如 mediumsmallmini
  • prefix-icon:输入框前置图标
  • suffix-icon:输入框后置图标
  • prefix:输入框前置内容
  • suffix:输入框后置内容
  • rows:输入框行数(仅在 type="textarea" 时有效)
  • autosize:自适应内容高度,仅对 type="textarea" 有效,可以是一个对象,如 { minRows: 2, maxRows: 6 }
  • resize:控制是否能被用户缩放(仅在 type="textarea" 时有效),可以设置为 nonebothhorizontalvertical
  • number:是否作为数字类型处理,仅在 type="number" 时有效
  • …(其他原生 input 属性)

事件

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

方法

  • el-input 本身没有提供方法,但你可以通过事件监听和 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 中也没有提供方法。

示例

<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 中

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加仑小铁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值