<div class="chart-tab">
<van-tag
v-for="(item, idx) in chartTabList"
:key="idx"
:class="[current === item.value ? 'active' : '']"
@click="handleTabClick(item, $event)"
>{{ item.name }}</van-tag>
</div>
let current = ref('9')
const chartTabList = ref([
{
name: '近1月',
value: '1'
},
{
name: '近3月',
value: '2'
},
{
name: '近6月',
value: '3'
},
{
name: '今年以来',
value: '9'
},
{
name: '近5年',
value: '6'
}
])
const handleTabClick = async(item, event) => {
current.value = item.value
const tabContainer = document.querySelector(".chart-tab")
const containerW = tabContainer.offsetWidth
const clickedElement = event.target
let scrollLeftNum =clickedElement.offsetLeft - containerW / 2 + clickedElement.offsetWidth / 2
tabContainer.scrollLeft = scrollLeftNum
}
.chart-tab {
padding-bottom: 16px;
text-align: center;
overflow-x: auto;
white-space: nowrap;
scroll-behavior: smooth;
:deep(.van-tag) {
font-size: 14px;
color: var(--text_level2);
background: var(--dialog_background);
margin-right: 8px;
padding: 4px 8px;
border-radius: 8px;
&.active {
color: var(--button_blue);
background: var(--chart_linechart_background);
}
}
&::-webkit-scrollbar {
display: none;
}
}