uni-app学习笔记三十六--分段式选项卡组件的使用

先来看效果:

上图有3个选项卡(PS:uniapp官方称之为分段器,我还是习惯叫选项卡),需要实现点击不同的选项卡时下方切换显示对应的数据。

下面介绍下实现的过程。

1.在uniapp官方文档下载并安装该扩展组件:uni-app官网,下载和安装方法请参照上一篇笔记;

2.在项目中引入该组件,复制文档中这段代码到项目容器中:

代码:

html 复制代码
<view class="menu">
	<uni-segmented-control :current="current" :values="values" @clickItem="onClickItem" styleType="button" activeColor="#2B9939"></uni-segmented-control>
</view>

需要改动的地方主要有3处:

(1)current,当前选中选项卡的索引;

(2)values :values="values",需要在JS中定义 values值,用于选项卡显示的文字内容,最好声明为数组形式,方便调用;

(3)@clickItem:点击事件,当用户点击不同的选项卡时加载对应的数据。

先来看前2项:

javascript 复制代码
const current = ref(0)
const classfy = [{key:"all",value:"全部"},{key:"cat",value:"猫猫"},{key:"dog",value:"狗狗"}]
const values = computed(()=>classfy.map(item=>item.value))

上面的代码实现:

(1)默认选中的选项卡为第1项;

(2)声明一个key-value的数组,其中value为选项卡显示的文字,使用computed计算属性将数组中的value提取出来。

再看点击事件:

javascript 复制代码
function onClickItem(e){
	pets.value = []
	current.value = e.currentIndex
	getPets()
}

上面的代码中先将获取的旧数据清空,拿到当前选项卡的索引,最后调getPets()方法获取当前选项卡的数据。

当用户下拉刷新时,也需要将当前选项卡置为默认选项卡,重新调接口获取新的数据:

javascript 复制代码
//下拉刷新,先清空以前的数据,再重新请求接口拿到新数据去填充
onPullDownRefresh(()=>{
	pets.value=[]
	//下拉刷新时将选项卡置为0
	current.value = 0
	getPets()
})

最终效果展示:

相关推荐
Gsen28192 分钟前
AI大模型从0到1记录学习 大模型技术之机器学习 day27-day60
人工智能·学习·机器学习
村头的猫16 分钟前
建站SEO优化之站点地图sitemap
前端·经验分享·笔记
蜉蝣之翼❉22 分钟前
games101 hw1
笔记·图形渲染
「、皓子~1 小时前
AI创作系列(2):UniApp跨端开发实战 - 海狸IM移动端完全由AI编写
开发语言·人工智能·uni-app·开源·vue·开源软件·ai编程
nenchoumi31191 小时前
UE5 学习系列(九)光照系统介绍
java·学习·ue5
梦境虽美,却不长1 小时前
数据结构 (树) 学习 2025年6月12日12:59:39
数据结构·学习·二叉树·霍夫曼树·非二叉树
码小文2 小时前
MCU、MPU、GPU、Soc、DSP、FPGA、CPLD……它们到底是什么?
笔记·单片机·嵌入式硬件·学习·ic常识
摆烂z2 小时前
机器学习-黑马笔记
人工智能·笔记·机器学习
汇能感知3 小时前
光谱相机叶绿素荧光成像技术的原理
经验分享·笔记·科技
饭碗、碗碗香3 小时前
【开发常用命令】:docker常用命令
linux·运维·笔记·学习·docker·容器