问题描述
在一个微信小程序的组件中使用了vant中的toast,确保在wxml中已经填写了<van-toast id="van-toast" />
标签,在js中使用Toast('xxxxxxxxxx');
,这就很迷惑。
解决过程
我是在组件中导入的toast,在组件中的wxml中声明的<van-toast id="van-toast" />
标签,而在官方文档中有说明selector默认是van-toast
,所以出现问题的唯一可能就是这个context
上下文并不能被找到。context
的默认值是当前页面,也就是组件的父容器。从而在组件中的Toast()方法去了父级wxml中寻找<van-toast id="van-toast" />
标签,那肯定无法找到的。
解决问题
只需要告诉context上下文,要到哪里去找到<van-toast id="van-toast" />
标签即可。由于在我的需求中,是一个子组件,所以只需要传入context: this
即可。
Toast({message: 'xxxx', context: this});