腾讯风铃怎么做网站,网站建设开发报价表,html模板网页,网站建设交印花税嘛背景 网上说了很多解决方案#xff0c;都是通过watch(() props.value, (newValue, oldValue) {})解决#xff0c;或者是加上{deep: true}附加属性。但是我在Vue3.3.4中#xff0c;还是无法解决。 下面说一下我的解决方案。
解决方案 通过父组件调用子组件defineE…背景 网上说了很多解决方案都是通过watch(() props.value, (newValue, oldValue) {})解决或者是加上{deep: true}附加属性。但是我在Vue3.3.4中还是无法解决。 下面说一下我的解决方案。
解决方案 通过父组件调用子组件defineExpose出来的方法并在方法中重新赋值ref数据已修改界面。 实例代码 B.vue
const props defineProps({propsObj: Array
})
const refObj ref(props.propsObj)defineExpose({resetProps})function resetProps() {refObj.value [...props.propsObj] // 必须要重新赋值新的值不然ref地址值不改变界面不更新
}A.vue
function process() {// 做一些对象处理childComponent.resetProps()
}当执行自定义resetProps后界面就会更改了。
或者传入一个callback也是可以的在A中调用callback也可以。