Laravel 尝试根据值设置不同的数组。错误:组件渲染函数中可能存在无限更新循环

Laravel 尝试根据值设置不同的数组。错误:组件渲染函数中可能存在无限更新循环,laravel,vue.js,element-ui,Laravel,Vue.js,Element Ui,我试图根据另一个值将此数组设置为不同的值,并获取错误 [Vue warn]:组件渲染函数中可能存在无限更新循环 我在vue的数据中将数组设置为空 ranktexts: [], 然后在我使用的方法中,这段代码 texts(rank) { if (rank === 3) { this.ranktexts = ['Mal', 'Indiferente', 'Bueno']; } else if (rank === 4) { this.ranktexts

我试图根据另一个值将此数组设置为不同的值,并获取错误

[Vue warn]:组件渲染函数中可能存在无限更新循环

我在vue的数据中将数组设置为空

ranktexts: [],
然后在我使用的方法中,这段代码

texts(rank) {
    if (rank === 3) {
        this.ranktexts = ['Mal', 'Indiferente', 'Bueno'];
    } else if (rank === 4) {
        this.ranktexts = ['Mal', 'Indiferente', 'Bueno', 'Excelente'];
    } else if (rank === 5) {
        this.ranktexts = ['Muy Mal', 'Mal', 'Indiferente', 'Bueno', 'Excelente'];
    } else {
        this.ranktexts = ['Muy Mal', 'Mal', 'Indiferente', 'Bueno', 'Muy Bueno', 'Excelente'];
    }
},
这就是我所说的

<div class="question_reply" v-if="form.response_type_id === 3">
    <el-form-item>
        <el-rate v-model="value"
            :max="form.rank"
            :texts="texts(form.rank)"
            show-text
            allow-half
        ></el-rate>
    </el-form-item>

对!!组件将无限地重新渲染

渲染时,:text=textsform.rank以获取使用param调用方法的结果

在该方法中,您更新了数据中的RANKTEXT。更新ranktexts将使组件重新渲染

所以再次渲染

渲染->textsform.rank->更新ranktexts->渲染

解决这个问题。我认为没有必要使用ranktexts

只需返回数组

texts(rank) {
    if (rank === 3) {
       return ['Mal', 'Indiferente', 'Bueno'];
    }
    if (rank === 4) {
       return ['Mal', 'Indiferente', 'Bueno', 'Excelente'];
    }
    if (rank === 5) {
       return ['Muy Mal', 'Mal', 'Indiferente', 'Bueno', 'Excelente'];
    }
    return ['Muy Mal', 'Mal', 'Indiferente', 'Bueno', 'Muy Bueno', 'Excelente'];
}

@Nancy你有没有发送道具,比如show text=true?如果是,则只需添加:like:showtext=true。如果没有,请在你的问题中提供更多的代码,以便我可以帮助你。嗨,我知道了,在返回中,我做的是返回“true”,而不仅仅是返回true,谢谢