当前位置:首页 > VUE

vue实现表单填写

2026-01-17 13:37:35VUE

Vue 表单实现方法

双向数据绑定

使用 v-model 指令实现表单元素与数据的双向绑定,适用于输入框、单选、多选等场景。示例代码:

<template>
  <input v-model="username" placeholder="请输入用户名">
  <p>输入的内容:{{ username }}</p>
</template>

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

表单验证

通过计算属性或第三方库(如 VeeValidate)实现验证逻辑。基础验证示例:

vue实现表单填写

<template>
  <input v-model="email" @blur="validateEmail">
  <span v-if="error">{{ error }}</span>
</template>

<script>
export default {
  data() {
    return {
      email: '',
      error: ''
    }
  },
  methods: {
    validateEmail() {
      const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      this.error = regex.test(this.email) ? '' : '邮箱格式不正确';
    }
  }
}
</script>

表单提交

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

vue实现表单填写

<template>
  <form @submit.prevent="handleSubmit">
    <input v-model="formData.name">
    <button type="submit">提交</button>
  </form>
</template>

<script>
export default {
  data() {
    return {
      formData: {
        name: ''
      }
    }
  },
  methods: {
    handleSubmit() {
      console.log('提交数据:', this.formData);
      // 此处可添加AJAX请求
    }
  }
}
</script>

动态表单字段

通过 v-for 实现动态增减表单项:

<template>
  <div v-for="(item, index) in items" :key="index">
    <input v-model="item.value">
    <button @click="removeItem(index)">删除</button>
  </div>
  <button @click="addItem">新增字段</button>
</template>

<script>
export default {
  data() {
    return {
      items: [{ value: '' }]
    }
  },
  methods: {
    addItem() {
      this.items.push({ value: '' });
    },
    removeItem(index) {
      this.items.splice(index, 1);
    }
  }
}
</script>

第三方组件库

使用 Element UI 或 Ant Design Vue 等现成表单组件:

<template>
  <el-form :model="form" :rules="rules">
    <el-form-item label="用户名" prop="name">
      <el-input v-model="form.name"></el-input>
    </el-form-item>
    <el-button type="primary" @click="submit">提交</el-button>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      form: { name: '' },
      rules: {
        name: [
          { required: true, message: '请输入用户名', trigger: 'blur' }
        ]
      }
    }
  }
}
</script>

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

相关文章

vue 实现挂载

vue 实现挂载

Vue 实现挂载的基本方法 在 Vue 中,挂载是将 Vue 实例与 DOM 元素关联的过程。通过挂载,Vue 可以管理 DOM 并实现数据绑定和响应式更新。 创建 Vue 实例并挂载 const…

vue实现动态

vue实现动态

Vue 实现动态路由的方法 在 Vue 中实现动态路由通常涉及以下几个关键步骤: 使用 Vue Router 的动态路由匹配 通过 Vue Router 的 :param 语法可以实现动态路由匹配。…

vue实现list

vue实现list

Vue 实现列表渲染 在 Vue 中,可以使用 v-for 指令来渲染列表。v-for 指令基于一个数组或对象来渲染一个列表,可以遍历数组或对象的属性。 基本列表渲染 <template>…

vue实现slidetoggle

vue实现slidetoggle

Vue 实现 SlideToggle 效果 SlideToggle 是一种常见的交互效果,元素以滑动方式展开或收起。以下是几种实现方法: 使用 CSS Transition 和 v-show 通过…

vue实现影院

vue实现影院

Vue实现影院功能的基本思路 使用Vue框架开发影院功能需要结合前端组件化开发、状态管理以及后端API交互。以下是关键实现步骤: 影院页面布局设计 影院页面通常分为顶部导航栏、影院列表区域和底部导航…

vue实现ide

vue实现ide

Vue 实现 IDE 的基本思路 使用 Vue 构建一个简易的集成开发环境(IDE)需要整合代码编辑器、文件管理、终端模拟等功能。以下是关键实现步骤和推荐工具。 核心功能模块 代码编辑器 使用…