发布网友
共1个回答
热心网友
本人项目在微信小程序中运行正常,但真机和模拟器中使用uni-list时,点击无法正常跳转。初始判断可能是键值使用不当,但数据id为唯一值,排除此疑虑。尝试使用tap代替click,现象不变,网文提及tap易出现误点击。怀疑数据更新可能影响点击效果,尝试添加forceUpdate,但问题依旧。
发现click选项native,该选项源于vue,官方文档描述抽象。研究后,多数网文建议使用native。实验证明,添加native选项后,点击uni-list组件时,click事件能正确传递给父组件。解释为native让组件内部真正监控click事件,避免内部bug导致的问题。在uniapp中,真机测试时需要使用native,而小程序中则无需。
理解为uni-list-item组件需要native选项以正常触发click事件,点击时点击事件能正确传递至父组件,调用父组件的click方法。点击有反应的解决办法为使用@click.native,而非@tap.native。添加native后,微信小程序表现正常。
此外,点击无反应可能是因为页面未正确跳转。若使用tabbar页面,微信小程序可以跳转,但真机不行,官方文档提示使用uni.switchTab。若问题仍未解决,检查组件使用是否正确,如uni-list-item中是否添加了link或clickable,这两项可触发点击事件。查看uni-list-item中onClick源代码,确认link或clickable可触发父组件的click事件。在uniapp中,手机平台如苹果、安卓存在差异,需谨慎处理。
总结,uni-list中存在的点击问题可通过添加native选项解决。uniapp确实存在多种平台差异,但整体表现一致。关注我获取更多实用知识。