当前位置:首页 > 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 组件,支持属性传递和事件监听:

vue实现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 提供多个输入修饰符简化开发:

vue实现input

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

标签: vueinput
分享给朋友:

相关文章

vue 实现级联

vue 实现级联

Vue 实现级联选择器 级联选择器(Cascader)常用于省市区选择、分类选择等场景。Vue 中可以通过 Element UI、Ant Design Vue 等 UI 库实现,也可以手动封装。 使…

vue实现 toast

vue实现 toast

Vue 实现 Toast 组件 在 Vue 中实现 Toast 组件可以通过多种方式完成,以下是几种常见的方法: 使用全局组件和事件总线 创建一个全局的 Toast 组件,并通过事件总线或 Vue…

vue实现路由

vue实现路由

Vue 路由的实现方法 Vue 路由可以通过 Vue Router 库来实现,Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue Router 通…

vue轮询实现

vue轮询实现

Vue 轮询实现方法 在 Vue 中实现轮询可以通过以下几种方式: 使用 setInterval data() { return { pollInterval: null } },…

vue实现博客

vue实现博客

Vue 实现博客的基本步骤 使用 Vue.js 实现一个博客系统可以分为前端和后端两部分。以下是基于 Vue 的前端实现方案,后端可以选择 Node.js、Django 或其他框架。 项目初始化 使…

vue实现开关

vue实现开关

Vue 实现开关组件的方法 使用原生HTML和Vue数据绑定 通过v-model绑定复选框的checked状态,结合CSS样式实现开关效果: <template> <label…