我正在使用Nuxt3表单,当我单击添加/删除按钮时,需要添加或删除输入字段.

例如,我有3个输入域:"Place1、Place2、Place3"和一个用于提交表单的按钮.

如果我点击"添加"按钮,我想添加一个新的域"Place4"、"Place5"等等. 此外,当我单击删除按钮时,可能需要删除所有输入字段.

有没有办法动态调整输入栏?

谢谢.

为此,我使用了v-for语句,当我添加输入字段时,它具有相同的值. 但是每个输入域应该有不同的值.

推荐答案

您可以使用这些代码来实现这一点.

<script setup lang="ts">

const places = ref(['', '', ''])

const addField = () => {
    places.value.push('')
}

const formRef = ref<HTMLFormElement | null>(null)

const removePlace = (index: number) => {
    places.value.splice(index, 1)
}

const submitForm = () => {
    if (formRef.value) {
        const formData = new FormData(formRef.value)
        for (const [fieldName, fieldValue] of formData.entries()) {
            console.log(`${fieldName} :`, fieldValue)
        }
        formRef.value.reset()
    }
}
</script>

<template>
    <div>
        <form
            @submit.prevent="submitForm"
            ref="formRef"
        >
            <div
                v-for="(place, index) in places"
                :key="index"
                style="margin-bottom: 10px;"
            >
                <label>Place {{ index + 1 }}</label>
                <div>
                    <input
                        type="text"
                        :placeholder="`Place${index + 1}`"
                        :name="`place${index + 1}`"
                    />
                    <button
                        type="button"
                        @click="removePlace(index)"
                    >Remove</button>
                </div>
            </div>
            <div style="display: flex; gap: 10px;">
                <button
                    type="button"
                    @click="addField"
                >
                    Add Field
                </button>
                <button type="submit">Submit</button>
            </div>
        </form>
    </div>
</template>
<style></style>

经过测试,它起作用了!

Javascript相关问答推荐

如何指定1条记录1个表?

创建1:1比例元素,以另一个元素为中心

有什么(最佳)方法可以从模块中获取脚本模块的多姆元素吗?

docx.js:如何在客户端使用文档修补程序

如何在Javascript中的控制台上以一行形式打印循环的结果

如何找出摆线表面上y与x相交的地方?

嵌套异步JavaScript(微任务和macrotask队列)

Mongoose post hook在使用await保存时不返回Postman响应

这个值总是返回未定义的-Reaction

ChartJs未呈现

查询参数中的JAVASCRIPT/REACT中的括号

在css中放置所需 colored颜色 以填充图像的透明区域

VSCode中出现随机行

如何防止ionic 输入中的特殊字符.?

未捕获语法错误:Hello World中的令牌无效或意外

将多个文本框中的输出合并到一个文本框中

如何通过Axios在GraphQL查询中发送数组

未找到用于 Select 器的元素:in( puppeteer 师错误)

我如何才能获得价值观察家&对象&S的价值?

在点击链接后重定向至url之前暂停