Taro组件为什么在移动端点击无效?

Newb.伊糖 阅读 6

折腾了一下午没搞定,用Taro写了一个按钮组件在真机测试时点击没反应。代码看起来没问题,开发工具预览还能触发,真机就完全没响应…

代码是这样的:

<View class="custom-btn" @tap="handleClick">
  点我呀
</View>

已经检查过事件绑定,函数里console.log确实没执行。尝试过加wx:if重新渲染、改z-index、设置宽高,都没用。难道和小程序的点击穿透有关?还是Taro的事件机制哪里没搞对?

我来解答 赞 7 收藏
二维码
手机扫码查看
1 条解答
❤子豪
❤子豪 Lv1
问题出在事件绑定上,Taro里用的是 onClick 而不是 @tap,虽然开发工具能兼容,但真机环境会失效。这其实是 Taro 和小程序原生语法的一个小坑。

可以把代码改成这样:
<View class="custom-btn" onClick="handleClick">
点我呀
</View>


另外建议给按钮加个样式优化一下,移动端点击区域太小会影响体验:
.custom-btn {
width: 200px;
height: 50px;
line-height: 50px;
text-align: center;
background-color: #1aad19;
color: white;
font-size: 16px;
border-radius: 8px;
}


如果还是有问题,可以检查下 handleClick 方法里是否有异步操作导致真机环境下卡住,或者看看是不是被其他层级的元素遮挡了。顺便说一句,真机调试的时候最好用 console.log 打点排查,别光靠开发工具预览。
点赞 2
2026-02-17 11:03