用Vue3+ts+vite 并且使用 <script lang="ts" setup> 写一个动态生成6个编辑框,并且判断所有编辑框内容是否都已经填写
时间: 2024-03-21 17:39:27 浏览: 113
好的,我来帮你实现。以下是代码:
```vue
<template>
<div>
<div v-for="i in 6" :key="i">
<input type="text" :placeholder="'Input ' + i" v-model="inputs[i-1]">
</div>
<button @click="checkInputs">Check Inputs</button>
</div>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
const inputs = ref<string[]>([]);
for (let i = 0; i < 6; i++) {
inputs.value.push('');
}
function checkInputs() {
let allFilled = true;
for (const input of inputs.value) {
if (input === '') {
allFilled = false;
break;
}
}
if (allFilled) {
console.log('All inputs filled');
} else {
console.log('Some inputs not filled');
}
}
</script>
```
解释一下:
- `<input>` 标签的 `v-for` 循环生成了 6 个编辑框,使用了 `v-model` 双向绑定数据。
- `inputs` 变量使用了 `ref`,初始值为一个空数组。在 `setup` 函数中使用循环生成了 6 个空字符串,分别对应 6 个编辑框的输入内容。
- `checkInputs` 函数用于判断所有编辑框是否都已经填写,通过遍历 `inputs` 数组,判断其中是否有空字符串来实现。
- 最后在模板中添加了一个检查按钮,点击后会调用 `checkInputs` 函数。
希望这个代码可以帮到你,如果有其他问题欢迎随时提出。
阅读全文