vue 使用tab切换,tab下的内容展示不同的组件页面

功能说明: 点击添加的时候,可根据的不同tab切换到添加不同数据的页面

//HTML部分
<ul class="tab_tit">
      <li :class="currentView== 'child1' ?'active':''" @click="tabChange(child1)">图文</li>
      <li :class="currentView== 'child2' ?'active':''" @click="tabChange(child2)">纯字</li>
    </ul>

    <!-- 动态地绑定到它的 is 特性,我们让多个组件可以使用同一个挂载点,并动态切换。  -->
    <div :is="currentView" class="content"></div>

//引入子组件
import child1 from './AddPicture'
import child2 from './AddFont'
import child3 from './AddVideo'

 components:{
    child1,
    child2,
    child3
  },
  
  data () {
    return {
      child1: 'child1',
      child2: 'child2',
      child3: 'child3',
      currentView: 'child1' // 默认选中第一项
    };
  },
  
 methods: {
    tabChange(tabItem) {
      console.log(tabItem);
      this.currentView = tabItem;
    }
  }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的 Vue 实现 tab 切换的示例: ```html <template> <div class="tab-container"> <ul class="tab-nav"> <li v-for="(tab, index) in tabs" :key="index" :class="{ active: currentTab === index }" @click="currentTab = index">{{ tab.title }}</li> </ul> <div class="tab-content"> <div v-for="(tab, index) in tabs" v-show="currentTab === index" :key="index">{{ tab.content }}</div> </div> </div> </template> <script> export default { data() { return { currentTab: 0, tabs: [ { title: 'Tab 1', content: 'This is the content of Tab 1' }, { title: 'Tab 2', content: 'This is the content of Tab 2' }, { title: 'Tab 3', content: 'This is the content of Tab 3' } ] } } } </script> <style> .tab-container { display: flex; flex-direction: column; width: 500px; } .tab-nav { display: flex; list-style: none; margin: 0; padding: 0; } .tab-nav li { margin-right: 10px; padding: 5px; cursor: pointer; border: 1px solid #ccc; } .tab-nav li.active { background-color: #ccc; } .tab-content { border: 1px solid #ccc; padding: 10px; } </style> ``` 这个示例中,我们使用了一个 `currentTab` 变量来记录当前选中的 tab,然后使用 `v-for` 循环渲染出每个 tab 的标题和内容。标题部分使用一个 ul 和若干个 li 元素来展示,而内容部分则使用若干个 div 元素,并通过 `v-show` 指令来控制哪个内容块显示。在点击某个 tab 标题时,我们通过 `@click` 事件来更新 `currentTab` 的值,从而切换到对应的内容。 以上是一个简单的 Vue 实现 tab 切换的示例,你可以在此基础上根据自己的需求进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值