在v-for循环VueJ中显示错误

我尝试显示v-for中每个字段的错误。但是我收到错误消息“无法读取未定义的属性'$ error'”,我不确定为什么。

<b-row  v-for="(v,index) in $v.years.$each.$iter" :key="index">
    <b-col>
        <b-form-group>
            <b-form-select
                v-model="v.year.$model"
                :class="{
                    'is-invalid':$v.year.$error,'is-valid':!$v.year.$invalid}"
            ></b-form-select>
            <div class="invalid-feedback" v-if="!$v.year.required">This field is required!</div>
        </b-form-group>
    </b-col>
</b-row>

validations: {
    years:{
        $each:{
            year:{
                required
            },},}
},

更新:

如果我从:class和v-if中删除year,它可以工作,但是如果我有一个错误,它将显示在每个字段上,而不仅仅是一个字段。

pxmdeai 回答:在v-for循环VueJ中显示错误

这就是为什么您不应该使用这种令人困惑的命名方案。它找不到$error,因为循环中不存在$v属性。

您将变量v命名为$v

v-for="(v,index) in $v.years.$each.$iter"
本文链接:https://www.f2er.com/2898115.html

大家都在问