vue3父组件传值给子组件,子组件无法实时更新父组件传递值

圆环进度条为例:
vue3父组件传值给子组件,子组件无法实时更新父组件传递值_第1张图片
操作父组件修改每个子组件的数据,没能实时更新子组件
1.未解决前的写法
父组件中





子组件中




bug描述
vue3父组件传值给子组件,子组件无法实时更新父组件传递值_第2张图片

解决方案:在子组件中添加watch监听父传递过来的对象,获取最新的数据
在子组件中使用watch监听并重新赋值即可

 // 初始化更新进度
    updateCurrentProcess(props.curentProcess);

    // 监听父组件传递子组件数据变化
    watch(props.curentProcess, (newVal, oldValue) => {
      updateCurrentProcess(newVal);
    });

    function updateCurrentProcess(newVal) {
      plan.curentAll = newVal.curentAll;
      plan.curentProcess = newVal.curentProcess;
    }

你可能感兴趣的:(vue2/vue3全家桶,vue)