【关键字】
API6、JS、swiper组件、智能穿戴、setSwipeToDismiss
【问题描述】
使用API6 JS开发智能穿戴设备HarmonyOS应用,在首页使用swiper组件时,右滑swiper时会退出应用,无法实现swiper右滑效果,效果如下所示:
【问题分析与原因】
当页面栈只有一个页面时,默认滑动事件分发会让应用退出,而不是右滑swiper,可以通过app.setSwipeToDismiss(true)设置关闭右滑退出功能。当页面栈有多个页面时,使用swiper右滑不会退出应用,此问题只会在只有一个页面时才会出现。
由于app.setSwipeToDismiss(true)是全局设置关闭右滑退出功能,若应用存在多个页面,建议在swiper的页面中onDestory方法中将此设置设置为false,即其他页面仍保持右滑退出功能。
【问题规避方案】
当只有一个页面且在页面中使用swiper时,建议在页面的onInit中设置:app.setSwipeToDismiss(true); 在onDestory中设置:app.setSwipeToDismiss(false);
【其他】
1、setSwipeToDismiss在智能穿戴设备才会生效;
2、setSwipeToDismiss不仅可以用在整体右滑退出事件中,在某个具体的组件也可使用此方法,如dialog.setSwipeToDimiss(true)设置可实现右滑关闭dialog功能;dialog中setSwipeToDismiss用法参考文档:
https://developer.huawei.com/consumer/cn/forum/topic/0201763274535700931?fid=0102683795438680754
标签:API6,右滑,setSwipeToDismiss,JS,退出,swiper,页面 From: https://www.cnblogs.com/mayism123/p/17493116.html