为了账号安全,请及时绑定邮箱和手机立即绑定

微信小程序之scroll-view选项卡与跳转 (二)

本篇为大家介绍为何我们在最后做交互的时候,并没有使用上一篇讲的选项卡的效果。

279

scroll-view与跳转.gif

(如无法查看图片,还请翻看上一篇!)

大家注意看,在我点击跳转后,首先能看到的是切换选项卡的一个运动过程,然后才给用户展示出被跳转的页面,开始看起来挺炫酷的,但我们觉得这不是一个好的用户体验。因为随着使用次数的增加,会让用户感觉到这个功能不能马上展示出他想要的页面,还会有一种审美疲劳的感觉。
同时大家也都知道,微信小程序大小只限定在2M以内,而这种写法会增加不少的代码量,所以尽量的精简代码。
这大概也是大多数类似的小程序没有该功能的原因吧!(纯属本人瞎猜)

既然没有了这个效果,那我们如何实现切换选项卡的功能呢?
思路:在“个人中心”点击跳转时需要传递一个 id (index),然后在“全部订单”页面接收,用该 id (index)使被选中 tab 高亮,同时把用该 id(index)交互过来的数据渲染在页面中。
在“全部订单”页面点击 tab 切换页面时,同理使用该 tab 携带的 id (index)进行交互,把交互过来的数据渲染在页面中。

wxml代码,是不是比上一篇的精简很多呢?

<!--全部订单页  -->
  <!--选项卡标题  --><scroll-view scroll-x="true" bindscroll="scroll" class="scroll-view_H list-liu">
  <view class="scroll-view-item_H swiper-tab-list {{currentTab==0?'on':''}}" bindtap="swichNav" hover-class="eee" id="1">全部</view>
  <view class="scroll-view-item_H swiper-tab-list {{currentTab==1?'on':''}}" bindtap="swichNav" hover-class="eee" id="2">待付款</view>
  <view class="scroll-view-item_H swiper-tab-list {{currentTab==2?'on':''}}" bindtap="swichNav" hover-class="eee" id="3">待发货</view>
  <view class="scroll-view-item_H swiper-tab-list {{currentTab==3?'on':''}}" bindtap="swichNav" hover-class="eee" id="4">已发货</view>
  <view class="scroll-view-item_H swiper-tab-list {{currentTab==4?'on':''}}" bindtap="swichNav" hover-class="eee" id="5">已完成</view></scroll-view>
  <!-- 选项卡内容 --><!-- 全部订单 内容 --> <scroll-view scroll-y="{{true}}" style="height: {{clientHeight?clientHeight+'px':'auto'}}">
  <view class="kong"></view>
  <!--写入显示内容  -->
  <view class="list" wx:for="{{carts}}" wx:key="*this">
    <!-- 图片 -->
    <view class="pic">
      <image class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="{{item.product_photo_path}}"></image>
    </view>
    <!-- 类型表述 -->
    <navigator url="../detail/detail" class="con" id="{{item.er[0].ordernoId}}" bindtap="navigatorToDetail">
    <!-- <view> -->
      <text class="type1">{{item.product_name}}</text>
      <text class="type2">{{item.product_content}}</text>
    <!-- </view> -->
    </navigator>
    <!-- 价格 -->
    <view class="price">
      <text class="price1">¥{{item.product_price}}</text>
      <text class="number">×{{item.product_count}}</text>
      <image class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="../../img/del.png" bindtap="deleteThis" id="{{item.er[0].ordernoId}}" ></image>
    </view>
  </view></scroll-view>

本篇结束,感谢大家观摩!




点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消