在 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、miniprefix-icon:输入框前置图标suffix-icon:输入框后置图标prefix:输入框前置内容suffix:输入框后置内容rows:输入框行数(仅在type="textarea"时有效)autosize:自适应内容高度,仅对type="textarea"有效,可以是一个对象,如{ minRows: 2, maxRows: 6 }resize:控制是否能被用户缩放(仅在type="textarea"时有效),可以设置为none、both、horizontal、verticalnumber:是否作为数字类型处理,仅在type="number"时有效- …(其他原生 input 属性)
事件:
input:在输入时触发change:在内容改变且失去焦点时触发clear:在点击清除按钮后触发blur:在失去焦点时触发focus:在获取焦点时触发- …(其他原生 input 事件)
方法:
el-input本身没有提供方法,但你可以通过事件监听和 Vue 实例的属性来操作它。
示例:
<template><el-inputv-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-inputv-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 中
