要实现以下效果:当这四个输入框,没有输入内容时,点击提交按键会提示用户需输入相应内容。
因为这四个循环是用v-for实现的,这四个输入框的内容保存在一个数组中,每个选项一个对象,所以需要对这个数组进行遍历循环,再去判断每个对象中输入内容是否为空。
this.answers.forEach(function (item, index) {
if (!item.optionText) {
_this.$message.error("请输入选项内容")
return false
}
刚开始使用的是forEach循环,但是提示信息也是四条,如下
这是因为forEach
这个方法是没办法提前退出的,必须完成遍历,才会退出循环。
这时候就考虑用到every
和some
。
some:当数组中有一个符合条件,就会跳出循环,返回true;
every:当所有值满足条件才会跳出循环,返回true。
最后用every
实现上述情况