当前位置:首页 > VUE

vue表单实现

2026-01-13 08:21:25VUE

Vue 表单实现方法

双向数据绑定

使用 v-model 指令实现表单输入与应用状态的双向绑定,适用于各类表单控件。例如文本输入框:

<input v-model="message" placeholder="Edit me">
<p>Message is: {{ message }}</p>

复选框处理

单个复选框绑定布尔值,多个复选框绑定数组:

<input type="checkbox" id="checkbox" v-model="checked">
<label for="checkbox">{{ checked }}</label>

<input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
<input type="checkbox" id="john" value="John" v-model="checkedNames">

单选按钮处理

通过 v-model 绑定选中的值:

<input type="radio" id="one" value="One" v-model="picked">
<input type="radio" id="two" value="Two" v-model="picked">

下拉选择框

单选和多选模式的处理:

vue表单实现

<select v-model="selected">
  <option disabled value="">Please select</option>
  <option>A</option>
  <option>B</option>
</select>

<select v-model="selected" multiple>
  <option>A</option>
  <option>B</option>
</select>

表单验证

结合计算属性或第三方库如 VeeValidate 进行验证:

data() {
  return {
    email: '',
    password: ''
  }
},
computed: {
  emailValid() {
    return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(this.email)
  }
}

表单提交

使用 @submit.prevent 阻止默认提交行为并处理数据:

vue表单实现

<form @submit.prevent="onSubmit">
  <input v-model="email">
  <button type="submit">Submit</button>
</form>

methods: {
  onSubmit() {
    if(this.emailValid) {
      // 提交逻辑
    }
  }
}

动态表单字段

通过 v-for 实现动态生成的表单字段:

<div v-for="(item, index) in items" :key="index">
  <input v-model="item.value">
  <button @click="removeItem(index)">Remove</button>
</div>
<button @click="addItem">Add Item</button>

表单修饰符

常用 v-model 修饰符:

  • .lazy:转为 change 事件后同步
  • .number:自动将输入转为数字
  • .trim:自动去除首尾空格
<input v-model.lazy="msg">
<input v-model.number="age">
<input v-model.trim="text">

第三方表单库

推荐使用专业表单处理库:

  • VeeValidate:提供声明式验证规则
  • Vuelidate:基于模型的轻量验证
  • Element UI/Ant Design Vue:包含预制表单组件

这些方法覆盖了 Vue 表单开发的主要场景,可根据具体需求选择合适方案。

标签: 表单vue
分享给朋友:

相关文章

vue实现引导

vue实现引导

Vue 实现引导功能的方法 使用第三方库 推荐使用 driver.js 或 intro.js 这类专门为 Vue 设计的引导库。这些库提供了完整的 API 和样式,能够快速实现引导功能。 安装 dr…

vue实现tap

vue实现tap

Vue 实现 Tap 事件 在移动端开发中,Tap 事件比 Click 事件更常用,因为 Click 事件有 300ms 延迟。以下是几种在 Vue 中实现 Tap 事件的方法。 使用第三方库 安装…

vue实现treeview

vue实现treeview

Vue 实现 TreeView 的方法 使用递归组件实现 TreeView 递归组件是 Vue 中实现 TreeView 的常见方式。通过组件调用自身,可以轻松处理嵌套的树形结构数据。 <te…

vue实现dag

vue实现dag

Vue实现DAG(有向无环图) 在Vue中实现DAG(Directed Acyclic Graph,有向无环图)通常涉及数据结构的建模、可视化渲染以及交互逻辑处理。以下是关键实现步骤和示例代码: 数…

vue实现框选

vue实现框选

Vue 实现框选功能 在 Vue 中实现框选功能通常需要监听鼠标事件,计算选区范围,并根据选区范围高亮或选中元素。以下是实现框选功能的关键步骤。 监听鼠标事件 在 Vue 模板中,为容器元素绑定鼠标…

前端vue实现概率

前端vue实现概率

Vue实现概率功能的方法 在Vue中实现概率功能通常涉及随机数生成和概率计算。以下是几种常见实现方式: 基础概率实现 使用Math.random()生成0到1之间的随机数,与设定概率比较:…