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

原因:

由于 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;

猜你喜欢

转载自blog.csdn.net/lengyue1084/article/details/107077986