多租户商城-商户小程序端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

85 lines
1.8 KiB

<template>
<view class="tabs-nav-warp">
<scroll-view class="tabs-nav" scroll-x="true">
<view class="ul">
<view class="li" :class="{'on':activeTab===0}" @click="tabChange(0)">{{$t('page.index')}}</view>
<view class="li" :class="{'on':activeTab===index+1}" v-for="(item,index) in categoryList" :key="index" @click="tabChange(index+1,item.classifyId)">
{{item.classifyName}}
</view>
</view>
</scroll-view>
</view>
</template>
<script>
const NET = require('@/utils/request')
const API = require('@/config/api')
export default {
name: "categoryList",
data () {
return {
activeTab: 0,
categoryList: []
}
},
mounted () {
this.getCategoryData();
},
methods:{
tabChange (index, id) {
this.activeTab = index
this.$emit('tabChange', index, id)
},
getCategoryData(){
uni.showLoading({
title:'加载中...'
})
NET.request(API.FindCategoryListByDepth, {
}, 'GET').then(res => {
this.categoryList = res.data
uni.hideLoading()
}).catch(res => {
uni.hideLoading()
})
}
}
}
</script>
<style lang="scss" scoped>
.tabs-nav-warp{
//margin-top: 20rpx;
padding:0 30rpx;
.tabs-nav{
.ul{
display: flex;
.li{
flex: 1 0 auto;
margin-left: 36rpx;
font-size: 30rpx;
color: #999999;
position: relative;
padding: 18rpx 0;
box-sizing: border-box;
&:first-child{
margin-left: 0;
}
&.on{
&:after{
content: '';
width: 100%;
height: 4rpx;
background: #C5AA7B;
position: absolute;
left: 0;
bottom: 0;
}
font-weight:bold;
}
}
}
}
}
</style>