项目中用到了uni-segmented-control分段器来实现不同ucharts图表的切换,需求中有一个是点击除分段器按钮的其他地方时,界面要回到最初的那个。最先是尝试给最外面的盒子加上绑定点击事件,用到的是原生JS实现绑定,然后在分段器的onClickItem中用原生的阻止冒泡事件event.stopPropagation();在PC端运行的时候是完全没问题的,但用真机调试的时候发现报错了TypeError: undefined is not an object (evaluating 'document.getElementById')
。之后发现在uniapp中是不能使用原生JS对DOM元素实现操作的,于是在度娘的帮助下成功用uniapp的方式解决了,如下:
依旧在父元素中添加点击事件(点击回到初始化界面),根据具体业务实现操作
然后在分段器的单文件中对click事件实现阻止冒泡的操作,见上图,哈哈,终于解决啦。