UNPKG

cloud-ui.vusion

Version:
239 lines (207 loc) 5.76 kB
### 基本用法 #### 使用 value 控制 ``` html <u-tabs value="B"> <u-tab title="模板" value="A">模板内容</u-tab> <u-tab title="样式" value="B">样式内容</u-tab> <u-tab title="逻辑" value="C">逻辑内容</u-tab> </u-tabs> ``` ### 动态数据渲染 ```vue <template> <div> <u-tabs :value.sync="value" :dataSource="tabList" titleField="title" valueField="value" contentField="contentUrl" closableField="closable" showScrollButtons='auto' router> </u-tabs> <u-button size="small" slot="extra" @click="addValue">value+1</u-button> </div> </template> <script> export default { data() { return { value: 1, tabList: [{ title: '标签页 1', value: '1', contentUrl: '/components/u-tabs', closable: true, }, { title: '标签页 2', value: '2', contentUrl: '/components/u-tabs#路由', closable: false, }, { title: '标签页 3', value: '3', contentUrl: '/components/u-tabs#默认显示和可关闭', closable: true, }] }; }, methods: { addTab() { this.tabList.push({ title: '标签页', value: this.tabList.length + 1, contentUrl: '/components/u-tabs', closable: true, }); }, addValue() { this.value = this.value + 1; }, }, }; </script> ``` ### 路由 ``` html <u-tabs router> <u-tab title="Button" to="/components/u-button"></u-tab> <u-tab title="Input" to="/components/u-input"></u-tab> <u-tab title="Tabs" to="/components/u-tabs"></u-tab> </u-tabs> ``` ### 默认显示和可关闭 ``` html <u-tabs appear="square"> <u-tab title="模板" closable>模板内容</u-tab> <u-tab title="样式" :showTabItem=false>样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> </u-tabs> ``` ### 外观 #### 方形卡片(默认) ``` html <u-tabs appear="square"> <u-tab title="模板">模板内容</u-tab> <u-tab title="样式">样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> </u-tabs> ``` #### 圆形卡片(默认) ``` html <u-tabs appear="round" size="small"> <u-tab title="模板">模板内容</u-tab> <u-tab title="样式">样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> </u-tabs> ``` #### 线条导航 ``` html <u-tabs appear="line"> <u-tab title="模板">模板内容</u-tab> <u-tab title="样式">样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> </u-tabs> ``` #### 胶囊导航 ``` html <u-tabs appear="capsule"> <u-tab title="模板">模板内容</u-tab> <u-tab title="样式">样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> </u-tabs> ``` #### 文本形态 ``` html <u-tabs appear="text" size="mini"> <u-tab title="模板">模板内容</u-tab> <u-tab title="样式">样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> </u-tabs> ``` #### 竖线分割 ``` html <u-linear-layout> <u-tabs appear="split"> <u-tab title="模板">模板内容</u-tab> <u-tab title="样式">样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> </u-tabs> <u-tabs appear="split" size="mini" closable> <u-tab title="模板">模板内容</u-tab> <u-tab title="样式">样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> </u-tabs> </u-linear-layout> ``` ### 禁用状态 ``` html <u-tabs disabled> <u-tab title="模板">模板内容</u-tab> <u-tab title="样式">样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> </u-tabs> <u-tabs> <u-tab title="模板">模板内容</u-tab> <u-tab title="样式" disabled>样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> </u-tabs> ``` ### 可关闭 ``` html <u-tabs closable item-width="90px" item-align="left"> <u-tab title="模板">模板内容</u-tab> <u-tab title="样式">样式内容</u-tab> <u-tab title="逻辑">逻辑内容</u-tab> <u-tab title="文档">文档内容</u-tab> <u-tab title="资源">资源内容</u-tab> </u-tabs> ``` ### 标签页较多的情形 ``` vue <template> <u-tabs v-model="value"> <u-tab v-for="title in list" :key="title" :title="title" :value="title">{{ title }} 的内容</u-tab> <u-button size="small" slot="extra" @click="addTab">添加</u-button> </u-tabs> </template> <script> export default { data() { const list = []; for (let i = 0; i < 20; i++) list.push('标签页 ' + (i + 1)); return { value: '标签页 7', list }; }, methods: { addTab() { this.list.push('新标签页 ' + (this.list.length + 1)); }, }, }; </script> ``` ### 插槽扩展 - 在`<u-tabs>`上可以使用`extra`插槽,在右侧添加额外的内容; - 在`<u-tab>`上可以使用`title`插槽,自定义标签页的标题。 <p></p> ``` html <u-tabs value="1"> <u-tab value="0"> <span slot="title">模板 <u-label>1</u-label></span> 模板内容 </u-tab> <u-tab value="1"> <span slot="title">样式 <u-label>6</u-label></span> 样式内容 </u-tab> <u-tab value="2"> <span slot="title">逻辑 <u-label>3</u-label></span> 逻辑内容 </u-tab> <u-checkbox slot="extra">全选</u-checkbox> </u-tabs> ```