# 3.3 菱形标签 (Diamond tab)

菱形标签栏,用于让用户在不同的视图中进行切换。

# 组件设计

1、标签数量:标签栏支持2、3、4、5个标签项
2、标签文字:2、3个标签时,最多4个字。4、5个标签时,最多2个字。超出的文字,进行截取,截取后在最后一位用省略号占位。(不建议超出)
3、交互:当前选中的标签,边框附加颜色,标签文本高亮;点击任意标签(未松开手指)时,该标签背景色变为点击态对应的颜色

# 应用示例

# 实例

# 基础用法

<template>
  <div class="box">
    <dof-minibar title="dof-diamond-tab"> </dof-minibar>
    <div class="showItem">
      <dof-diamond-tab
        :tabData="tabData"
        :active="active"
        :textColor="textColor"
        :activeTextColor="activeTextColor"
        :textFontSize="textFontSize"
        :bgColor="bgColor"
        :borderColor="borderColor"
        :activeBorderColor="activeBorderColor"
        :touchColor="touchColor"
        @tabActiveChange="tabActiveChange"
      />
      <dof-diamond-tab
        :tabData="tabData2"
        :active="active2"
        :textColor="textColor"
        :activeTextColor="activeTextColor"
        :textFontSize="textFontSize"
        :bgColor="bgColor"
        :borderColor="borderColor"
        :activeBorderColor="activeBorderColor"
        :touchColor="touchColor"
        style="margin-top: 60px"
      />
      <dof-diamond-tab
        :tabData="tabData3"
        :active="active3"
        :textColor="textColor"
        :activeTextColor="activeTextColor"
        :textFontSize="'30px'"
        :bgColor="bgColor"
        :borderColor="borderColor"
        :activeBorderColor="activeBorderColor"
        :touchColor="touchColor"
        :itemHeight="80"
        style="margin-top: 60px"
      />
    </div>
  </div>
</template>

<script>
import { DofMinibar, DofDiamondTab } from 'dolphin-weex-ui'

module.exports = {
  components: {
    DofMinibar,
    DofDiamondTab
  },
  data: () => ({
    tabData: [{ label: '上桶' }, { label: '下桶' }],
    tabData2: [{ label: '上下风' }, { label: '左右风' }, { label: '无风感' }],
    tabData3: [{ label: '1档' }, { label: '2档' }, { label: '3档' }, { label: '4档' }],
    active: 0,
    active2: 1,
    active3: 2,
    bgColor: '#000', // 背景颜色
    borderColor: 'rgba(61, 61, 66, 1)', //常规边框颜色
    activeBorderColor: '#b35336', // 选中态边框颜色
    touchColor: '#1A1A1C', // 点击未松开背景颜色
    textColor: '#71717A', // 字体颜色
    activeTextColor: '#ffffff', // 选中态字体颜色
    textFontSize: '24px' // 字体大小
  }),
  mounted() {},
  methods: {
    tabActiveChange(i) {
      // this.$toast(i)
    }
  }
}
</script>

<style scoped>
.box {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #000;
}
.showItem {
  background-color: #000;
  /* width: 600px; */
  padding-top: 30px;
  padding-bottom: 30px;
}
</style>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

# Attributes

Prop Type Required Default Description
tabData Array Y [] 标签数据,label字段为显示文案
active Number N null 标签初始选中项
bgColor String N #000 背景颜色
borderColor String N rgba(61, 61, 66, 1) 边框颜色
activeBorderColor String N #b35336 选中态边框颜色
touchColor String N #1A1A1C 点击未松开背景颜色
textColor String N #71717A 字体颜色
activeTextColor String N #FFFFFF 选中态字体颜色
textFontSize String N 24px 字体大小
itemHeight Number N 64 标签高度

注: `tabData`
Prop Type Required Default Description
label String N `` 标签显示内容

# Events

事件名称 说明 回调参数
tabActiveChange 选中态改变事件, 返回参数为:当前选中项index index
Last Updated: 7/20/2023, 2:20:51 PM