来自兄弟 A 的孙子发出,parent 更新值,但兄弟 B 没有更新

Grandchild from sibling A emits, parent updates the value, but sibling B is not updating

这是 parent 模板,有 2 children

<payment :isEditing="isEditing" @action="onActionButtonClick" />
<create-details v-if="isCompanyDetailsCreating" @action="onActionButtonClick" />

在 child create-details 我有一个 grandchild 发出 onActionButtonClick,它被 parent 和 parent 接收 它改变了 isEditing.

的值

我的问题是这个值在 isEditing 中发生了变化,我没有在 payment 组件中收到。这是我在 PaymentComponent 中尝试过的方法,但它不起作用

props: {
  isEditing: { type: Boolean as PropType<boolean>, default: false },
},
emits: ['action'],
setup(props, { emit }) {
  const isEditingButton = ref(props.isEditing)

watch(props.isEditing, (first, second) => {
 isEditing.value = props.isEditing
})

我在手表警告中收到的错误是这个。如果有人可以帮助我,那就太好了。我知道我可以通过商店实现它,但我希望得到帮助。

Argument of type 'boolean' is not assignable to parameter of type 'readonly WatchSource[]'>

Boolean是可以直接使用的类型,只需要在更复杂的类型和使用TypeScript时使用PropType即可。

所以尝试像这样定义道具:

props: {
  isEditing: { type: Boolean, default: false },
},

编辑: 而且你不能更新道具,或者你在手表中的这一行的意图是什么:
isEditing.value = props.isEditing
这是您在代码中遗漏的引用吗?

https://v3.vuejs.org/guide/typescript-support.html#annotating-props