vue 列表更改排序,不刷新问题

    技术2022-07-12  92

    原因:

    由于 JavaScript 的限制,Vue 不能检测数组和对象的变化。深入响应式原理中有相关的讨论。

    <div class="basket-paper-content" v-if="reset"> <div class="basket-paper-item-box" v-for="(item,index) in current_list" :key="index"> <div class="paper-item-box-title"> data() { return { list: [], current_list: [], reset: true, }; }, for (let i = 0; i < current_list.length; i++) { for (let j = 0; j < current_list[i].list.length; j++) { if (current_list[i].list[j].id == id) { if (type == "up" && j > 0 && j < current_list[i].list.length) { let tmp = current_list[i].list[j]; current_list[i].list[j] = current_list[i].list[j - 1]; current_list[i].list[j - 1] = tmp; this.reset = false; break; } } } } //console.log("current_list",current_list) this.$data.reset = true; this.$data.current_list = current_list;

     

    Processed: 0.014, SQL: 9