選單
×
   ❮   
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 提供支援