Vue的表單循環是非常有用的,可以簡化表單的使用和重復代碼的書寫。使用v-for指令可以方便地循環渲染表單元素:
<template> <form> <div v-for="(item, index) in itemList" :key="index"> <label :for="'input' + index">{{ item.label }}:</label> <input :type="item.type" :id="'input' + index" :name="item.name"> </div> </form> </template> <script> export default { data() { return { itemList: [ { label: '用戶名', type: 'text', name: 'username' }, { label: '密碼', type: 'password', name: 'password' }, { label: '郵箱', type: 'email', name: 'email' } ] } } } </script>
在上面的代碼中,我們使用了一個數組itemList來存儲表單元素的相關信息。然后使用v-for指令循環渲染表單元素,可以看到我們動態生成了三個label和input標簽,每個標簽的id和name屬性都是通過item對象的name屬性動態生成的。
如果我們要使用提交按鈕,也可以通過類似的方式來生成:
<template> <form> <div v-for="(item, index) in itemList" :key="index"> <label :for="'input' + index">{{ item.label }}:</label> <input :type="item.type" :id="'input' + index" :name="item.name"> </div> <button type="button" @click="submitForm">提交</button> </form> </template> <script> export default { data() { return { itemList: [ { label: '用戶名', type: 'text', name: 'username' }, { label: '密碼', type: 'password', name: 'password' }, { label: '郵箱', type: 'email', name: 'email' } ] } }, methods: { submitForm() { // 處理表單提交操作 } } } </script>
通過定義一個submitForm方法來處理表單提交操作,我們可以在按鈕的@click事件上綁定submitForm方法。在實際開發中,我們還可以通過v-model指令來實現表單數據的雙向綁定,這里就不再贅述。