Vue 选项卡组件实现:简单易用的代码示例
<template>
<div>
<div>
<div v-for='(item, index) in list' :key='index' :class='[activeIndex === index ? 'active' : '']' @click='tabSelect(index, item.name)'>{{ item.name }}</div>
</div>
<div>
<slot :name='activeName'></slot>
</div>
</div>
</template>
<script>
export default {
props: {
list: {
type: Array,
default: () => []
}
},
data() {
return {
activeIndex: 0
}
},
computed: {
activeName() {
return this.list[this.activeIndex] && this.list[this.activeIndex].name
}
},
methods: {
tabSelect(index, name) {
this.activeIndex = index
this.$emit('tab-select', name)
}
}
}
</script>
原文地址: https://www.cveoy.top/t/topic/lh0U 著作权归作者所有。请勿转载和采集!