Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Vue 教程

Vue 主页 Vue 简介 Vue 指令 Vue v-bind Vue v-if Vue v-show Vue v-for Vue 事件 Vue v-on Vue 方法 Vue 事件修饰符 Vue 表单 Vue v-model Vue CSS 绑定 Vue 计算属性 Vue 侦听器 Vue 模板

扩展 功能

Vue 为什么,如何以及设置 Vue 第一个 SFC 页面 Vue 组件 Vue 属性 Vue v-for 组件 Vue $emit() Vue 透传属性 Vue 作用域样式 Vue 局部组件 Vue 插槽 Vue v-slot Vue 作用域插槽 Vue 动态组件 Vue 传送门 Vue HTTP 请求 Vue 模板引用 Vue 生命周期钩子 Vue 提供/注入 Vue 路由 Vue 表单输入 Vue 动画 Vue 与 v-for 的动画 Vue 构建 Vue Composition API

Vue 参考

Vue 内置属性 Vue 内置组件 Vue 内置元素 Vue 组件实例 Vue 指令 Vue 实例选项 Vue 生命周期钩子

Vue 示例

Vue 示例 Vue 练习 Vue 问答 Vue 服务器 Vue 证书

Vue 表单

Vue 提供了一种简单的方法来改进用户体验,通过添加诸如响应性和表单验证等额外功能来改进表单。

Vue 在处理表单时使用 v-model 指令。

我们的第一个 Vue 表单

让我们从一个简单的购物清单示例开始,看看如何在创建表单时使用 Vue。

有关 HTML 中表单的更多信息,以及相关的标签和属性,请参阅 我们的 HTML 表单教程


1. 添加标准 HTML 表单元素

<form>
  <p>添加商品</p>
  <p>商品名称: <input type="text" required></p>
  <p>数量: <input type="number"></p>
  <button type="submit">添加商品</button>
</form>

2. 使用当前商品名称、数量和购物清单创建 Vue 实例,并使用 v-model 将我们的输入与其连接起来。

<div id="app">
  <form>
    <p>添加商品</p>
    <p>商品名称: <input type="text" required v-model="itemName"></p>
    <p>数量: <input type="number" v-model="itemNumber"></p>
    <button type="submit">添加商品</button>
  </form>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        itemName: null,
        itemNumber: null,
        shoppingList: [
          { name: '西红柿', number: 5 }
        ]
      }
    }
  })
  app.mount('#app')
</script>

3. 调用该方法将商品添加到购物清单中,并在提交时阻止浏览器默认刷新。

<form v-on:submit.prevent="addItem">

4. 创建将商品添加到购物清单的方法,并清除表单

methods: {
  addItem() {
    let item = {
      name: this.itemName,
      number: this.itemNumber
      }
    this.shoppingList.push(item);
    this.itemName = null
    this.itemNumber = null
  }
}

5. 使用 v-for 在表单下方显示自动更新的购物清单

<p>购物清单:</p>
<ul>
  <li v-for="item in shoppingList">{{item.name}}, {{item.number}}</li>
</ul>

以下是第一个 Vue 表单的最终代码。

示例

在这个示例中,我们可以将新商品添加到购物清单中。

<div id="app">
  <form v-on:submit.prevent="addItem">
    <p>添加商品</p>
    <p>商品名称: <input type="text" required v-model="itemName"></p>
    <p>数量: <input type="number" v-model="itemNumber"></p>
    <button type="submit">添加商品</button>
  </form>

  <p>购物清单:</p>
  <ul>
    <li v-for="item in shoppingList">{{item.name}}, {{item.number}}</li>
  </ul>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        itemName: null,
        itemNumber: null,
        shoppingList: [
          { name: '西红柿', number: 5 }
        ]
      }
    },
    methods: {
      addItem() {
        let item = {
          name: this.itemName,
          number: this.itemNumber
        }
        this.shoppingList.push(item)
        this.itemName = null
        this.itemNumber = null
      }
    }
  })
  app.mount('#app')
</script>
亲自尝试 »

请注意上面的示例中 v-model 提供的双向绑定

  • v-model 在 HTML 输入发生更改时更新 Vue 实例数据
  • v-model 还更新 Vue 实例数据发生更改时的 HTML 输入

要了解有关 v-model 的更多信息并查看更多表单示例,请单击“下一页”。



×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.