在项目升级中碰到的问题
父组件A通过$refs调用子组件B的方法时候出现的bug
两个组件都是script setup写法
Uncaught TypeError: Cannot read properties of null (reading 'proxy')
A在通过$refs调用B的openPicker的方法,
B组件中的写法
const openPicker = () => {
const { proxy } = getCurrentInstance();
proxy.$refs.picker.show = true;
};
defineExpose({ openPicker });
openPicker是通过defineExpose暴露出去的
ps:setup里面定义的方法和变量都是不会暴露出去的,想通过组件引用来使用就必须要用defineExpose
解决方法
const { proxy } = getCurrentInstance();
不能写在openPicker里面,把它移出来就行了
const { proxy } = getCurrentInstance();
const openPicker = () => {
proxy.$refs.picker.show = true;
};
defineExpose({ openPicker });
网友评论