当前位置: 首页 > news >正文

北京市建筑网站南昌寻南昌网站设计

北京市建筑网站,南昌寻南昌网站设计,微网站 html,网站建站服务公司地址需求背景 使用 ScrollView 组件实现轮播图效果#xff0c;该轮播图可以自动向右滑动。有下面两个需求#xff1a; #xff08;1#xff09;希望用户左右点击的时候#xff0c;视图可以向左/向右滚动#xff1b; #xff08;2#xff09;希望用户触摸在屏幕的时候该轮播图可以自动向右滑动。有下面两个需求 1希望用户左右点击的时候视图可以向左/向右滚动 2希望用户触摸在屏幕的时候轮播图不自动滚动放开的时候重新计时5秒后向右滚动 3在轮播视图内有一个按钮希望我们在点击按钮并弹出弹窗的时候轮播图停止计时弹窗关闭后再重新计时。 需求分析 1我们可以使用 TouchableWithoutFeedback 组件分别覆盖左右视图当触发onPress的时候进行翻页。 2可以使用 ScrollView 的 onTouchStart 和 onTouchEnd 事件分别表示触摸开始和触摸结束时候的回调。 3事件的回调顺序是 onTouchStart onPress onTouchEnd 所以下面的这种写法会导致当点击share按钮的时候打印如下 onTouchStart click button, start to stop timer onTouchEnd // 执行完异步操作后会打印 start to start timer但我们希望的是能够打印如下 onTouchStart click button, start to stop timer // onTouchEnd 不打印 // 执行完异步操作后会打印 start to start timerstate {scrollViewTouchable: true, };handleSharePress async() {// 停止定时器console.log(click button, start to stop timer);this.handleStopTimer();// 处理 Share 按钮的逻辑// await ....// 打开定时器console.log(start to start timer);this.handleStartTimer(); };render() {const { scrollViewTouchable } this.state;return (ViewScrollViewonTouchStart{scrollViewTouchable ? (){this.handleStartTimer(); console.log(onTouchStart)} : undefined}onTouchEnd{scrollViewTouchable ? (){this.handleStopTimer(); console.log(onTouchEnd)} : undefined}// 其他属性...{/* ScrollView 内容 */}TouchableOpacityonPress{this.handleSharePress}View style{styles.shareButton}{/* Share 按钮内容 */}/View/TouchableOpacity/ScrollView/View); }解决方法 通过阻止默认事件的方式好像不能解决上述问题因为 TouchableWithoutFeedback 组件不会阻止事件冒泡到父组件。 所以我们考虑用一个state变量来控制 ScrollView 组件的触摸事件是否可用。在点击 “Share” 按钮时将状态变量设置为 false在 onPress 事件完成后将状态变量设置回 true。 state {scrollViewTouchable: true, };handleSharePress async() {this.setState({ scrollViewTouchable: false });// 处理 Share 按钮的逻辑// await...this.setState({ scrollViewTouchable: true }); };render() {const { scrollViewTouchable } this.state;return (ViewScrollViewonTouchStart{scrollViewTouchable ? this.handleStartTimer : undefined}onTouchEnd{scrollViewTouchable ? this.handleStopTimer : undefined}// 其他属性...{/* ScrollView 内容 */}TouchableOpacityonPress{this.handleSharePress}View style{styles.shareButton}{/* Share 按钮内容 */}/View/TouchableOpacity/ScrollView/View); }
http://www.hkea.cn/news/14383214/

相关文章:

  • 首钢建设二建设公司网站免费asp地方门户网站系统
  • 要学做游戏上什么网站学好网站建设 全包
  • 嘉兴网站定制如何在公司网站上添加内容
  • gzip压缩网站网站关键词设定
  • 企业做网站天津德米萨erp
  • 商务型企业网站建设网页图片不能另存为怎么办
  • 做拼多多网站免费课程免费wordpress主题推荐
  • 国际网站哪里做杭州市做外贸网站的公司
  • 做企业网站有哪些好处铜仁市网站建设
  • 做ar的网站wordpress修复数据库
  • 百度商桥代码怎么加到网站上做网站要具备哪些
  • 松江微网站建设爱站云网站建设heikw
  • 网上手机网站建设计划书公众号推送怎么制作
  • 行业门户网站建设费用建筑设计防火规范
  • 仿抖音网站开发个人网站建设方案书实例
  • 企业网站的特点是什么计算机毕设网站代做
  • 泸州中泸集团建设有限公司网站页面设计的英文
  • 世界卫生健康论坛青岛网站seo优化
  • 四川网站建设费用wordpress注册不成功
  • 湖南网站建设 莫道外贸工具大全网站
  • 做足球经理头像的网站做网站开发用什么APP好
  • 中国建设执业资格注册管理中心网站山西网站建设免费
  • 企业网站推广 知乎工程项目管理软件app
  • 城建道桥建设集团网站迁移wordpress
  • 创建网站平台建设网站好学吗
  • 网站建设需要ui吗辽宁网站建设
  • 查建筑公司资质的网站html网站的规划与建设6
  • wordpress改模板辛集seo网站优化公司
  • 深圳网站建设软件开发宁波找网站建设企业
  • 还有人用asp做网站吗管理咨询公司swot