对于vue3中的响应式数据使得lodash无法正确被使用

在 Vue 3 中,由于其使用了新的响应式系统,与 Vue 2 不同,您需要使用 ref 或 reactive 函数来创建响应式数据。

如果使用 Lodash 对响应式数据进行操作时,通常会出现无法正确监听响应式数据变化的问题。这是因为 Lodash 的函数并不是针对 Vue 3 新的响应式系统设计的。因此,可以使用vue3中的toRaw

对于vue3中的响应式数据使得lodash无法正确被使用_第1张图片
记录自己用到的代码块

const undoneChangePrice = (filterArr, originArr, compareKey, hasKeyValue) => {
  const commonArr = lodash.intersectionWith(originArr, filterArr, (a, b) => a[compareKey] === b);
  const finalValue = lodash.filter(commonArr, hasKeyValue);
  return finalValue || [];
};
  let undoneArr = undoneChangePrice(
    toRaw(multipleSelection.value),
    toRaw(pager.list),
    "stock_code",
    {
      is_change_price: 1
    }
  );

你可能感兴趣的:(Vue,javascript,前端,vue.js)