文章目录
- 十、选项卡制作
- 一 、组件创建
- 二、scroll-view 组件使用
- 三、点击设置按钮跳转到标签设置界面
- 四、数据获取
十、选项卡制作
1.遇到错误:
2.解决问题:
3.this 指向问题
// 指向: get_label_list
uniCloud.callFunction({
name: "get_label_list",
success(res) {
console.log(this);
},
});
// 指向:vue实例
uniCloud.callFunction({
name: "get_label_list",
success: (res) => {
console.log(this);
},
});
一 、组件创建
- 定义组件 tabBar
- index 界面首页面进行组建引入
二、scroll-view 组件使用
参考文档地址:https://uniapp.dcloud.io/component/scroll-view
使用 scroll-view 横向滚动的时候,需要注意,内部需添加一个容器对里面的滚动内容进行包裹
<scroll-view class="tab-scroll" scroll-x="true">
<view class="tab-scroll-box">
<view v-for="(item, index) in navList" :key="index" class="tab-scroll-item">{{ item }}</view>
</view>
</scroll-view>
三、点击设置按钮跳转到标签设置界面
<view class="tab-icons">
<uni-icons @click="goLabelAdmin" type="gear" size="26" color="#666"></uni-icons>
</view>
<script>
// 创建labelAdmin界面之后进行跳转
uni.navitageTo({ url: "/pages/labelAdmin/labelAdmin" });
</script>
四、数据获取
-
在 page 界面 onLoad 生命周期内进行_initLableList 方法创建
-
定义云函数,获取 label 表中的数据
"use strict"; const db = uniCloud.database(); exports.main = async (event, context) => { const collection = db.collection("label"); const res = await collection.get(); //返回数据给客户端 return { code: 0, labelList: res.data, }; };
-
page 下的 index 界面进行数据获取,并将数据传递到 tabBar 组件,unicloud.callFunction 方法进行数据获取
uniCloud.callFunction({ name: "get_label_list", success:(res)=> { this.labelList = res.result.labelList } })
-
tabBar 组件内部 prop 属性进行数据获取
props: { labelList: Array }
-
点击选项卡实现高亮效果