div 组件模拟选项卡
选项卡
效果常见于传统 H5 开发中,开发者一般使用div和js代码
控制布局交互得以实现
在框架中,开发者也可以使用div组件
实现简单的效果,示例代码如下:
<template>
<div class="tutorial-page">
<!-- div组件模拟选项卡功能 -->
<div class="div-tabs">
<!-- tabs的head部分 -->
<div class="div-tabbar">
<text onclick="showContent(1)">menu1</text>
<text onclick="showContent(2)">menu2</text>
<text onclick="showContent(3)">menu3</text>
</div>
<!-- tabs的body部分 -->
<div class="div-tabcontent">
<div class="div-tabcontent-section" show="{{type === 'content_1'}}">
<text>content1</text>
</div>
<div class="div-tabcontent-section" show="{{type === 'content_2'}}">
<text>content2</text>
</div>
<div class="div-tabcontent-section" show="{{type === 'content_3'}}">
<text>content3</text>
</div>
</div>
</div>
</div>
</template>
<style lang="less">
.tutorial-page {
flex: 1;
flex-direction: column;
.div-tabs {
flex: 1;
flex-direction: column;
.div-tabbar {
height: 100px;
text {
margin: 10px;
flex-grow: 1;
text-align: center;
border: 1px solid #eeeeee;
}
}
.div-tabcontent {
flex: 1;
background-color: #eeeeee;
.div-tabcontent-section {
flex: 1;
justify-content: center;
margin: 10px;
background-color: #ffffff;
text {
color: #FF0000;
text-align: center;
}
}
}
}
}
</style>
<script>
export default {
private: {
type: 'content_1'
},
onInit () {
this.$page.setTitleBar({ text: 'div组件模拟选项卡' })
},
showContent (num) {
this.type = 'content_' + num
}
}
</script>
使用div组件
实现的选项卡
效果,功能还是有限,为了带来最佳用户体验,建议使用框架提供的tabs组件
完成需求