@zhsz/cool-design-dv
Version:
93 lines (92 loc) • 2.62 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const vue = require("vue");
const baseNumber_vue_vue_type_script_setup_true_lang = require("./baseNumber.vue.js");
require("./style.css");
const __default__ = vue.defineComponent({
name: "DvNumber",
inheritAttrs: false
});
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...__default__,
props: {
background: Boolean,
// 数字
value: [Number, String],
// 默认值
defaultValue: {
type: [Number, String],
default: 0
},
// CountUp配置参数对象
countUp: {
type: [Boolean, Object]
},
// 趋势
trend: {
type: String,
validator(val) {
return ["up", "down", "-"].includes(val);
}
},
// 精度,保留几位小数
precision: {
type: Number,
default: 0
},
// 分隔符
separator: {
type: String,
default: ","
},
// 前缀
prefix: {
type: String
},
// 后缀
suffix: String,
// 按百分比计算显示
percentage: Boolean,
// 前缀 和 后缀采用下标显示
sup: Boolean
},
setup(__props) {
const props = __props;
const $attrs = vue.useAttrs();
const classes = vue.computed(() => {
return {
"is-background": props.background
};
});
function getArray(value) {
const array = String(value).split("");
return array.map((n) => {
return {
value: n,
number: !Number.isNaN(Number.parseInt(n))
};
});
}
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock("div", {
class: vue.normalizeClass(["my-dv-number", classes.value])
}, [
vue.createVNode(baseNumber_vue_vue_type_script_setup_true_lang.default, vue.normalizeProps(vue.guardReactiveProps({ ...vue.unref($attrs), ...props })), vue.createSlots({ _: 2 }, [
__props.background ? {
name: "default",
fn: vue.withCtx(({ displayValue }) => [
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getArray(displayValue), (item, index) => {
return vue.openBlock(), vue.createElementBlock("span", {
key: index,
class: vue.normalizeClass({ "is-number": item.number })
}, vue.toDisplayString(item.value), 3);
}), 128))
]),
key: "0"
} : void 0
]), 1040)
], 2);
};
}
});
exports.default = _sfc_main;