Android 多tab程序实现,wxTabs 微信小程序的多 tab 实现,各 tab 页面状态独立,并支持下拉刷新上拉加载更多 @codeKK Android开源站...

tabs for wechat app

特点:

各页面状态(空白,错误,加载中)已自动处理

页面下拉刷新和上拉加载更多的方法已实现,并封装在 tabUtil 中,无需在 page 中书写.

tab 之间的切换逻辑已处理.

使用时需要做的:

拷贝

netUtil.js 拷贝到 utils 目录下

lib 文件夹拷贝到根目录下

修改

针对具体项目微调 netUtil 里的一些字段,比如将用于分批加载的 pagesize 和 pageIndex 改成自己网络请求里的相应字段.

tab 颜色和最小宽度,以及高度可在 tabs.wxss 里修改.

使用(参考 pages\index)

写每个页面的 wxml 和 wxss,模板化,并在具体页面导入

引入 js:

var netUtil=require("../../utils/netUtil.js");

var tabUtil=require("../../lib/tab/tabUtil.js");

var lvUtil=require("../../lib/tab/lvUtil.js");

调用:

var tabStrs = [' ',' ','推荐','学业成绩','行为问题','亲子关系','人际关系','情绪困扰'];

tabUtil.initTab(that,tabStrs,2,function(i){

var params = {};

params.type=1;

params.labelIds ="1,2,3,4,5";

params.sourceType=0;

params.priceType=0;

params.categoryIds = i-2;

params.pageIndex = 1;

params.pageSize = 20;

var lvBean = lvUtil.initLv(that,API.Lesson.SEARCH,params,i,'',{

getListFromNetData:function(netData){

return netData;

},

handleItemInfo:function(item){

// utils.showVoiceItemPriceText(item);

}

});

return lvBean;

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 UniApp 中实现多数据和下刷新的 ScrollView 列表,可以借助于组件库,如 uView UI 或 Vant UI,它们提供了相关的组件和方法来实现这些功能。以下是一个示例代码,假设你选择使用 uView UI: 1. 首先,安装 uView UI: ``` npm install uview-ui ``` 2. 在 `main.js` 文件中引入 uView UI: ```javascript import uView from 'uview-ui'; Vue.use(uView); ``` 3. 在页面的 `template` 中编写 ScrollView 列表的结构: ```html <template> <view> <u-scroll-view :scroll-y="true" :refresher-enabled="true" @refresher-refresh="onRefresh" :lower-threshold="100" @scrolltolower="onLoadMore"> <view class="list"> <view v-for="(item, index) in listData" :key="index">{{ item }}</view> </view> </u-scroll-view> </view> </template> ``` 4. 在页面的 `script` 中编写相关逻辑: ```javascript <script> export default { data() { return { listData: [], // 列表数据 page: 1, // 当前页码 pageSize: 10, // 每页数据量 }; }, methods: { // 下刷新 onRefresh() { this.page = 1; this.listData = []; this.loadData(); }, // 上多 onLoadMore() { this.page++; this.loadData(); }, // 数据 loadData() { // 模拟异步请求数据 setTimeout(() => { // 假设每页返回10条数据 const newData = Array.from({ length: this.pageSize }, (v, k) => `Item ${k + 1}`); this.listData = this.listData.concat(newData); // 结束下刷新或上多的状态 uni.stopPullDownRefresh(); uni.hideNavigationBarLoading(); }, 1000); }, }, }; </script> ``` 这样,你就可以在 ScrollView 列表中实现多数据和下刷新的功能了。当点击tab切换时,可以调用 `onRefresh` 方法来新列表数据。请根据实际需求进行适当的调整和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值