一、问题描述

在小程序里通过this.$refs的方式获取自定义组件:

<fresh-city-picker ref="freshCityPicker"></fresh-city-picker>

通过$refs,获取为空,该代码在onload中不行,等页面渲染完成后,通过点击的方式又能获取

that.$refs.freshCityPicker

在网上找了一圈,搜索关键词,小程序端不能使用vue的$refs么?在官网也搜了下都说是小程序本身就不支持操作dom,要获取dom信息请用uni.createSelectorQuery()这种

 uni.createSelectorQuery().in(this).select("#id")._component.$children

二、解决方法

最后发现是我在页面最开始用v-if做了个判断,如果为空,整个页面不显示导致的,将v-if缓存v-show就行了。。

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐