首先先了解该组件;该组件,是一个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; }
希望对你有所帮助