Blame view

node_modules/element-ui/packages/badge/src/main.vue 1 KB
2a09d1a4   liuqimichale   添加宜春 天水 宣化
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
  <template>
    <div class="el-badge">
      <slot></slot>
      <transition name="el-zoom-in-center">
        <sup
          v-show="!hidden && (content || content === 0 || isDot)"
          v-text="content"
          class="el-badge__content"
          :class="[
            'el-badge__content--' + type,
            {
              'is-fixed': $slots.default,
              'is-dot': isDot
            }
          ]">
        </sup>
      </transition>
    </div>
  </template>
  
  <script>
  export default {
    name: 'ElBadge',
  
    props: {
      value: {},
      max: Number,
      isDot: Boolean,
      hidden: Boolean,
      type: {
        type: String,
        validator(val) {
          return ['primary', 'success', 'warning', 'info', 'danger'].indexOf(val) > -1;
        }
      }
    },
  
    computed: {
      content() {
        if (this.isDot) return;
  
        const value = this.value;
        const max = this.max;
  
        if (typeof value === 'number' && typeof max === 'number') {
          return max < value ? `${max}+` : value;
        }
  
        return value;
      }
    }
  };
  </script>