uv-badge.js
2.5 KB
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
"use strict";
const common_vendor = require("../../../../../common/vendor.js");
const _sfc_main = {
name: "uv-badge",
mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$2],
computed: {
// 是否将badge中心与父组件右上角重合
boxStyle() {
let style = {};
return style;
},
// 整个组件的样式
badgeStyle() {
const style = {};
if (this.color) {
style.color = this.color;
}
if (this.bgColor && !this.inverted) {
style.backgroundColor = this.bgColor;
}
if (this.absolute) {
style.position = "absolute";
if (this.offset.length) {
const top = this.offset[0];
const right = this.offset[1] || top;
style.top = this.$uv.addUnit(top);
style.right = this.$uv.addUnit(right);
}
}
return style;
},
showValue() {
switch (this.numberType) {
case "overflow":
return Number(this.value) > Number(this.max) ? this.max + "+" : this.value;
case "ellipsis":
return Number(this.value) > Number(this.max) ? "..." : this.value;
case "limit":
return Number(this.value) > 999 ? Number(this.value) >= 9999 ? Math.floor(this.value / 1e4 * 100) / 100 + "w" : Math.floor(this.value / 1e3 * 100) / 100 + "k" : this.value;
default:
return Number(this.value);
}
},
propsType() {
return this.type || "error";
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: _ctx.show && ((Number(_ctx.value) === 0 ? _ctx.showZero : true) || _ctx.isDot)
}, _ctx.show && ((Number(_ctx.value) === 0 ? _ctx.showZero : true) || _ctx.isDot) ? {
b: common_vendor.t(_ctx.isDot ? "" : $options.showValue),
c: common_vendor.n(_ctx.isDot ? "uv-badge--dot" : "uv-badge--not-dot"),
d: common_vendor.n(_ctx.inverted && "uv-badge--inverted"),
e: common_vendor.n(_ctx.shape === "horn" && "uv-badge--horn"),
f: common_vendor.n(`uv-badge--${$options.propsType}${_ctx.inverted ? "--inverted" : ""}`),
g: common_vendor.s(_ctx.$uv.addStyle(_ctx.customStyle)),
h: common_vendor.s($options.badgeStyle)
} : {});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-747d4365"], ["__file", "C:/Users/23082/Desktop/practice/vue-three/blind-box/node_modules/@climblee/uv-ui/components/uv-badge/uv-badge.vue"]]);
wx.createComponent(Component);