zoukankan      html  css  js  c++  java
  • Vue可自定义tab组件

    在工作中我们常常要用到tab组件,如果有用第三方组件库的话一般都会有这个组件,但如果没有使用第三方组件库,或者想要自定义tab,那么或许这个无依赖的tab组件将会极大地节约你的开发时间。
     
     
    如何使用?
     
    1. 首先先安装:
        npm i vue-cus-tabs -S
    2. 在new vue之前引入样式并use一下VueCusTab:
        import 'vue-cus-tabs/style/index.css'
        import { installCusTabs } from 'vue-cus-tabs';
        Vue.use(installCusTabs);
    3. 在代码中引入组件:
     <CusTabWrap>
          <template v-slot:tabBar>
            <CusTabBar :style="{'height':'50px'}">
              <CusTabItem v-for="item in tabItems" :key="item.title">
                {{item.title}}
              </CusTabItem>
            </CusTabBar>
          </template>
    
          <template v-slot:tabContainer>
            <CusTabContainer>
              <CusTabContainerItem v-for="item in tabItems">
                <ul>
                  <li v-for="data in item.data">
                    {{data.title}}
                  </li>
                </ul>
              </CusTabContainerItem>
            </CusTabContainer>
          </template>
        </CusTabWrap>
    import { TabController } from 'vue-cus-tabs';
        import Vue from 'vue'
    
        
    
        export default class Test extends Vue{
          public tabItems = [
            { title: '新闻', type: 'list', data: [{ img: '', title: 'list item    title' }] },
            { title: '视频', type: 'block', data: [{ video: '', title: 'list item     title' }] },
            { title: '视频1', type: 'block', data: [{ video: '', title: 'list item    title' }] },
          ];
          public tabController?: TabController;
          public mounted() {
            
            // 创建控制器
            this.tabController = new TabController({ data: this.tabItems, tabScroll: true, initIndex: 1 });
          }
        }
    4. 启动Vue Cli的serve,即可看到成果。


    整个组件的设计思路借鉴了flutter的tabs组件,数据的渲染交由vue完成,之后的tab控制由TabController实例来完成。

     
     
     
     
  • 相关阅读:
    668. Kth Smallest Number in Multiplication Table
    658. Find K Closest Elements
    483. Smallest Good Base
    475. Heaters
    454. 4Sum II
    441. Arranging Coins
    436. Find Right Interval
    410. Split Array Largest Sum
    392. Is Subsequence
    378. Kth Smallest Element in a Sorted Matrix
  • 原文地址:https://www.cnblogs.com/axel10/p/11731545.html
Copyright © 2011-2022 走看看