首先先了解该组件;该组件,是一个tabs标签组件,在标签多的时候,可以配置为左右滑动,标签少的时候,可以禁止滑动。 该组件的一个特点是配置为滚动模式时,激活的tab会自动移动到组件的中间位置。
基本使用:
- 通过设置
scrollable
(默认为true
),配置tabs组件的内容是否可以左右拖动,一般4个标签以下时,无需拖动,设置为false
,5个标签以上,建议可以左右拖动。 - tabs标签的切换,需要绑定
current
值,在change
事件回调中可以得到index
,将其赋值给current
即可。
说明
scrollable
参数很重要,如果您的tabs项只有几个,且不想tabs导航栏可以被左右滑动的话,请一定要设置scrollable
为false
,因为它默认为true
。
先看一个示例代码
<template><u-tabs :list="list1" @click="click"></u-tabs> </template><script>export default {data() {return {list1: [{name: '关注',}, {name: '推荐',}, {name: '电影'}, {name: '科技'}, {name: '音乐'}, {name: '美食'}, {name: '文化'}, {name: '财经'}, {name: '手工'}]}},methods: {click(item) {console.log('item', item);}}} </script>
效果如下
但如果想默认选中其中一个该如何设置呢?
只需要添加一个关键属性;
首先在return中声明一个变量:activeIndex:3 ;然后在点击事件里触发
this.activeIndex = item.index;
注:绑定属性的关键字为current 而不是active;如此便可实现
下面是效果
部分重要代码如下:
<u-tabs :list="list1" :current="activeIndex" @click="click"></u-tabs>
activeIndex: 0, // 默认选中第2个标签页
async click(item) {this.activeIndex = item.index; }
希望对你有所帮助