vue-tab-carousel
v1.5.4
Published
一个集成了tab,carousel,loadmore的移动端vue组件
Downloads
11
Maintainers
Readme
tab-carousel
安装
npm i --save vue-tab-carousel
初始化
import Vue from 'vue'
import TabCarousel from 'vue-tab-carousel'
Vue.use(TabCarousel)
使用
tab组件
<template>
<navi-tab :tab-list="list1" v-model="activeIndex1"></navi-tab>
</template>
<script>
export default {
data () {
return {
list1: ['标签1', '标签2', '标签3'],
activeIndex1: 0,
}
}
}
</script>
属性
|参数|说明|类型|可选值|是否必填|默认值| |--|--|--|--|--|--| |tab-list|标签名|Array||true|| |line-width|下划线长度|Number/String||false|60| |line-color|下划线颜色|String||false|#f60| |active-color|文字选中时的颜色|String||false|#f60| |default-color|文字未被选中时的颜色|String||false|#000|
carousel组件
注意: carousel组件的slot中的内容不能用一个父元素全部包起来, 这和实现方式有关
<template>
<navi-carousel v-model="activeIndex">
<img
v-for="(img, index) in imgArr"
:key="index"
:src="img">
</navi-carousel>
</template>
<script>
export default {
data () {
return {
activeIndex: 0,
imgArr: [
require('example/assets/images/1.jpg'),
require('example/assets/images/2.jpg'),
require('example/assets/images/3.jpg'),
require('example/assets/images/4.jpg'),
require('example/assets/images/5.jpg'),
require('example/assets/images/6.jpg'),
require('example/assets/images/7.jpg'),
require('example/assets/images/8.jpg')
]
}
}
}
</script>
属性
|参数|说明|类型|可选值|是否必填|默认值| |--|--|--|--|--|--| |animation-time|过渡时间|Number||false|300|
loadmore组件
注意: 不管是下拉刷新还是上滑加载, 当数据拿到之后需要调用该组件的
resetMin
方法来重新计算高度 例如this.$refs.loadMore.resetMin()
<template>
<navi-load-more
ref="loadMore"
:height="400"
refresh
@refresh="refresh"
@loadMore="loadMore">
// 填写你的代码
</navi-load-more>
</template>
属性
|参数|说明|类型|可选值|是否必填|默认值| |--|--|--|--|--|--| |height|滑动视口的高度, 注意:当使用100%时,其高度根据他的父元素来计算|Number/String|100%/100vh/100/100px|true|400| |refresh|是否开启下拉刷新|Boolean|true/false|false|false| |refresh-allow|下拉刷新是否出现箭头显示|Boolean|true/false|false|true| |refresh-spring|关闭下拉刷新时是否开启回弹效果|Boolean|true/false|false|true|
事件
|事件名称|说明|回调参数| |--|--|--| |loadMore|滑动到底部的时候触发|-| |refresh|下拉刷新的时候触发(refresh参数为true才有效)|-|
tabCarousel组件
注意:
navi-tab-carousel-item
组件中可以嵌套load-more
组件, 此时load-more
组件不需要设置height
属性,content-height
属性会将其所有的高度统一化
<template>
<navi-tab-carousel
:content-height="400"
:skeleton="true"
v-model="activeIndex">
<navi-tab-carousel-item tag="标签1">
// 填写你的代码(配合loadmore组件口味更佳)
</navi-tab-carousel-item>
<navi-tab-carousel-item tag="标签2">
// 填写你的代码(配合loadmore组件口味更佳)
</navi-tab-carousel-item>
<navi-tab-carousel-item tag="标签3">
// 填写你的代码(配合loadmore组件口味更佳)
</navi-tab-carousel-item>
</navi-tab-carousel>
</template>
属性
关于tab的属性可以直接参照tab部分
|参数|说明|类型|可选值|是否必填|默认值| |--|--|--|--|--|--| |content-height|滑动视口的高度, 注意:当使用100%时,其高度根据他的父元素来计算, 且内容区域是其父元素高度减去tab栏高度后得出的值|Number/String|100%/100vh/100/100px|true|400| |skeleton|是否开启骨架屏占位(主要是为了懒加载)|Boolean|true/false|true|true|
子组件属性
|参数|说明|类型|可选值|是否必填|默认值| |--|--|--|--|--|--| |tag|最终会统一作为tab的名称|string||true|-|