<template> <div v-for="item in arr"> <div>{{ item.title }}</div> <div><input type="text" v-model="item.name" :style="submitDone&&item.yvalue!==item.name?'border:solid 1px red':''" /></div> </div> <div style="height: 10px"></div> <button @click="submit">交卷</button> </template> setup() { const submitDone=ref(false); const arr = ref([ { title: "输入框",yvalue:'input' }, { title: "多选框",yvalue:'checkbox' }, { title: "单选框",yvalue:'radio' }, ]); for (let item of arr.value) { item.name = ""; } console.log(arr.value); const value = ref(""); const submit = () => { submitDone.value=true; console.log(arr.value); };
本来arr里面是没有name这个属性的,通过for循环给这个对象里面添加一个name属性,
在点击确定的时候如果没有给某个input框输入值,那么显示的就是空
input框禁止输入小于0的值
<input :value="value" type="number" placeholder="你好,世界!" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode || event.which))) || event.which === 8 || event.which === 46" />