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
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>
|