当前位置:首页 > VUE

vue实现input

2026-01-07 18:22:41VUE

Vue 实现 Input 输入框的方法

基本双向绑定

使用 v-model 指令实现双向数据绑定,适用于大多数表单场景:

<template>
  <input v-model="inputValue" placeholder="请输入内容">
</template>

<script>
export default {
  data() {
    return {
      inputValue: ''
    }
  }
}
</script>

自定义表单组件

封装可复用的 Input 组件,支持属性传递和事件监听:

<template>
  <input 
    :value="value"
    @input="$emit('input', $event.target.value)"
    :placeholder="placeholder"
    :type="type"
  >
</template>

<script>
export default {
  props: {
    value: String,
    placeholder: String,
    type: {
      type: String,
      default: 'text'
    }
  }
}
</script>

表单验证

结合 VeeValidate 或 Element UI 实现验证功能:

<template>
  <input 
    v-model="email"
    v-validate="'required|email'"
    name="email"
    type="email"
  >
  <span v-show="errors.has('email')">{{ errors.first('email') }}</span>
</template>

<script>
export default {
  data() {
    return {
      email: ''
    }
  }
}
</script>

修饰符使用

Vue 提供多个输入修饰符简化开发:

<input v-model.trim="text">  <!-- 自动去除首尾空格 -->
<input v-model.number="age" type="number">  <!-- 自动转为数字类型 -->
<input v-model.lazy="msg">  <!-- 失焦时更新数据 -->

第三方组件集成

使用 Element UI 的 Input 组件示例:

<template>
  <el-input 
    v-model="input"
    placeholder="请输入内容"
    clearable
    @change="handleChange"
  >
    <template slot="prepend">Http://</template>
  </el-input>
</template>

高级功能实现

自定义输入限制(如仅允许数字):

<template>
  <input 
    v-model="numericValue"
    @keypress="isNumber($event)"
  >
</template>

<script>
export default {
  methods: {
    isNumber(evt) {
      const charCode = evt.which ? evt.which : evt.keyCode
      if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        evt.preventDefault()
      }
    }
  }
}
</script>

vue实现input

标签: vueinput
分享给朋友:

相关文章

vue实现静态查询

vue实现静态查询

Vue 实现静态查询 在 Vue 中实现静态查询通常指不依赖后端接口,直接在前端处理数据筛选或搜索功能。以下是几种常见实现方式: 使用计算属性过滤数据 通过计算属性对静态数据进行筛选,适合简单查询…

vue实现滚动中断

vue实现滚动中断

Vue 实现滚动中断的方法 在 Vue 中实现滚动中断通常涉及监听滚动事件,并在特定条件下阻止默认行为或停止滚动。以下是几种常见方法: 监听滚动事件并阻止默认行为 通过 @scroll 或 @whe…

vue实现多个tab

vue实现多个tab

Vue 实现多个 Tab 的方法 使用动态组件切换 在 Vue 中可以通过动态组件 <component :is="currentTab"> 结合 v-for 和 v-bind 实现多个…

vue页面分离的实现

vue页面分离的实现

Vue页面分离的实现方法 将Vue页面分离为多个组件或模块,有助于提升代码可维护性和复用性。以下是几种常见的实现方式: 组件化拆分 通过将页面拆分为多个子组件,每个组件负责特定功能或UI部分。使用…

vue实现文字播放栏

vue实现文字播放栏

Vue 实现文字播放栏(跑马灯效果) 方法一:使用 CSS 动画 + Vue 数据绑定 通过 CSS 的 @keyframes 实现动画效果,结合 Vue 的动态数据绑定控制内容。 <tem…

vue实现选择本地文件

vue实现选择本地文件

实现文件选择功能 在Vue中实现本地文件选择可以通过HTML原生的<input type="file">元素实现。创建一个基本的文件选择组件: <template> &l…