菜单
×
   ❮   
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 Intro Vue Directives Vue v-bind Vue v-if Vue v-show Vue v-for Vue Events Vue v-on Vue Methods Vue Event Modifiers Vue Forms Vue v-model Vue CSS Binding Vue Computed Properties Vue Watchers Vue Templates

Scaling Up

Vue 为什么、如何以及设置 Vue 第一个 SFC 页面 Vue 组件 Vue Props Vue v-for 组件 Vue $emit() Vue 穿透属性 Vue 作用域样式 Vue 本地组件 Vue 插槽 Vue v-slot Vue 作用域插槽 Vue 动态组件 Vue Teleport Vue HTTP 请求 Vue 模板引用 Vue 生命周期钩子 Vue Provide/Inject Vue 路由 Vue 表单输入 Vue 动画 Vue 带 v-for 的动画 Vue 构建 Vue Composition API

Vue Reference

Vue Built-in Attributes Vue Built-in Components Vue Built-in Elements Vue Component Instance Vue Directives Vue Instance Options Vue Lifecycle Hooks

Vue 示例

Vue Examples Vue Exercises Vue Quiz Vue Server Vue Certificate

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 并查看更多表单示例,请点击“下一步”。



×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持