vue-ele-plus
Version:
92 lines (91 loc) • 2.83 kB
JavaScript
import { defineComponent, useSlots, computed, onMounted, openBlock, createElementBlock, createElementVNode, normalizeStyle, unref, renderSlot, toDisplayString, createBlock, resolveDynamicComponent } from "vue";
const toLine = (value) => {
return value.replace(/(A-Z)g/, "-$1").toLocaleLowerCase();
};
var index_vue_vue_type_style_index_0_scoped_true_lang = "";
var _export_sfc = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) {
target[key] = val;
}
return target;
};
const _hoisted_1 = { class: "trend" };
const _hoisted_2 = { key: 1 };
const _hoisted_3 = { class: "icon" };
const _sfc_main = /* @__PURE__ */ defineComponent({
props: {
type: {
type: String,
default: "up"
},
text: {
type: String,
default: "\u6587\u5B57"
},
upIcon: {
type: String,
default: "ArrowUp"
},
downIcon: {
type: String,
default: "ArrowDown"
},
upIconColor: {
type: String,
default: "#f5222d"
},
downIconColor: {
type: String,
default: "#52c41a"
},
upTextColor: {
type: String,
default: "#f5222d"
},
downTextColor: {
type: String,
default: "#52c41a"
},
reverseColor: {
type: Boolean,
default: false
}
},
setup(__props) {
const props = __props;
let slots = useSlots();
console.log(slots);
let textColor = computed(() => {
return props.type === "up" ? props.upTextColor : props.downTextColor;
});
onMounted(() => {
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1, [
createElementVNode("div", {
class: "text",
style: normalizeStyle({ color: unref(textColor) })
}, [
unref(slots).default ? renderSlot(_ctx.$slots, "default", { key: 0 }, void 0, true) : (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(__props.text), 1))
], 4),
createElementVNode("div", _hoisted_3, [
__props.type === "up" ? (openBlock(), createBlock(resolveDynamicComponent(`el-icon-${unref(toLine)(__props.upIcon)}`), {
key: 0,
style: normalizeStyle({ color: !__props.reverseColor ? __props.upIconColor : "#f5222d" })
}, null, 8, ["style"])) : (openBlock(), createBlock(resolveDynamicComponent(`el-icon-${unref(toLine)(__props.upIcon)}`), {
key: 1,
style: normalizeStyle({ color: !__props.downIconColor ? __props.downIconColor : "#f5222d" })
}, null, 8, ["style"]))
])
]);
};
}
});
var chooseTrend = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4aaeab63"]]);
var index = {
install(app) {
app.component("m-trend", chooseTrend);
}
};
export { index as default };