<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>
Vue 选项卡组件实现:简单易用的代码示例

原文地址: https://www.cveoy.top/t/topic/lh0U 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录