yuang-framework-ui-pc
Version:
yuang-framework-ui-pc Library
89 lines (88 loc) • 3.33 kB
JavaScript
import { defineComponent, ref, computed, resolveComponent, createBlock, openBlock, withCtx, createElementBlock, Fragment, renderList, renderSlot, createCommentVNode, mergeProps, resolveDynamicComponent, normalizeStyle, toDisplayString } from "vue";
import { ElIcon, ElBreadcrumbItem, ElBreadcrumb } from "element-plus";
import { breadcrumbProps } from "./props";
const _sfc_main = defineComponent({
name: "EleBreadcrumb",
components: { ElBreadcrumb, ElBreadcrumbItem, ElIcon },
props: breadcrumbProps,
setup(props) {
const breadcrumbRef = ref(null);
const breadcrumbSeparator = computed(
() => {
if (typeof props.separator !== "string") {
return;
}
return props.separator;
}
);
const breadcrumbSeparatorIcon = computed(() => {
if (props.separatorIcon != null && props.separatorIcon !== "") {
return props.separatorIcon;
}
if (props.separator != null && typeof props.separator !== "string") {
return props.separator;
}
return props.separatorIcon;
});
return {
breadcrumbRef,
breadcrumbSeparator,
breadcrumbSeparatorIcon
};
}
});
const _export_sfc = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) {
target[key] = val;
}
return target;
};
const _hoisted_1 = { key: 1 };
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_ElIcon = resolveComponent("ElIcon");
const _component_ElBreadcrumbItem = resolveComponent("ElBreadcrumbItem");
const _component_ElBreadcrumb = resolveComponent("ElBreadcrumb");
return openBlock(), createBlock(_component_ElBreadcrumb, {
ref: "breadcrumbRef",
separator: _ctx.breadcrumbSeparator,
separatorIcon: _ctx.breadcrumbSeparatorIcon,
class: "ele-breadcrumb"
}, {
default: withCtx(() => [
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
return openBlock(), createBlock(_component_ElBreadcrumbItem, {
key: item.key ?? item.title,
replace: item.replace,
to: item.to
}, {
default: withCtx(() => [
item.slot && item.slot !== "default" && _ctx.$slots[item.slot] ? renderSlot(_ctx.$slots, item.slot, {
key: 0,
item
}) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
item.icon ? (openBlock(), createBlock(_component_ElIcon, mergeProps({
key: 0,
ref_for: true
}, item.iconProps || {}), {
default: withCtx(() => [
(openBlock(), createBlock(resolveDynamicComponent(item.icon), {
style: normalizeStyle(item.iconStyle)
}, null, 8, ["style"]))
]),
_: 2
}, 1040)) : createCommentVNode("", true),
item.title ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(item.title), 1)) : createCommentVNode("", true)
], 64))
]),
_: 2
}, 1032, ["replace", "to"]);
}), 128))
]),
_: 3
}, 8, ["separator", "separatorIcon"]);
}
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
index as default
};