某个页面使用了element-ui中的el-tree,在pc跟安卓里点击节点的文本或者三角图标都可以展开子节点。但在ios下点击节点完全没有任何反应,只能通过点击前方的小三角才能展开。
我试着给el-tree增加了node-click事件监听,虽然点击节点没有展开子节点,但我想知道node-click事件有没有触发,结果是node-click事件没有处触发,控制台没有任何打印。
网上查了好久,翻了很多帖子,终于找到一个类似的帖子里讲到:在ios下如果通过body进行过全局click事件的监听,就会导致组件里的点击事件失效。我顺着这个思路直接用js对el-tree节点里的文本进行了点击事件监听,这个时候点击文本控制台有打印了,但子节点依旧没有展开,便想着再通过js编程式触发点击事件是否可行,最终完美解决该问题!
// 解决方法
mui('body').on('tap', ".el-tree-node__label", function () {
this.click()
}