UNPKG

@wocwin/t-ui-plus

Version:

Page level components developed based on Element Plus.

105 lines (102 loc) 3.71 kB
import { defineComponent, useSlots, useAttrs, computed, resolveComponent, createElementBlock, openBlock, createVNode, withCtx, Fragment, renderList, createBlock, normalizeClass, renderSlot, createCommentVNode, mergeProps, unref, createSlots, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString } from 'vue'; const _hoisted_1 = { class: "t_detail" }; const _hoisted_2 = { key: 0, class: "t_btn" }; var _sfc_main = /* @__PURE__ */ defineComponent({ ...{ name: "ModuleDetail" }, __name: "moduleDetail", props: { descData: { type: Object, default: () => ({}) }, // 是否Title文字加粗 titleBold: { type: Boolean, default: false } }, setup(__props) { const props = __props; const slots = useSlots(); const attrs = useAttrs(); const defaultActiveKey = computed({ get() { return Object.keys(props.descData); }, set(val) { return val; } }); return (_ctx, _cache) => { const _component_t_detail = resolveComponent("t-detail"); const _component_el_collapse_item = resolveComponent("el-collapse-item"); const _component_el_collapse = resolveComponent("el-collapse"); return openBlock(), createElementBlock("div", _hoisted_1, [ createVNode(_component_el_collapse, { modelValue: defaultActiveKey.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => defaultActiveKey.value = $event) }, { default: withCtx(() => [ (openBlock(true), createElementBlock( Fragment, null, renderList(__props.descData, (val, index) => { return openBlock(), createBlock(_component_el_collapse_item, { class: normalizeClass({ noTitle: !val.title, disabledStyle: val.disabled, title_bold: __props.titleBold }), key: index, name: val.name, disabled: val.disabled }, { title: withCtx(() => [ createTextVNode( toDisplayString(val.title) + " ", 1 /* TEXT */ ), val.btn ? (openBlock(), createElementBlock("div", _hoisted_2, [ renderSlot(_ctx.$slots, val.btn) ])) : createCommentVNode("v-if", true) ]), default: withCtx(() => [ val.slotName ? renderSlot(_ctx.$slots, val.slotName, { key: 0 }) : createCommentVNode("v-if", true), createVNode(_component_t_detail, mergeProps({ descData: val.data }, unref(attrs)), createSlots({ _: 2 /* DYNAMIC */ }, [ renderList(unref(slots), (_index, name) => { return { name, fn: withCtx((data) => [ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(data))) ]) }; }) ]), 1040, ["descData"]) ]), _: 2 /* DYNAMIC */ }, 1032, ["class", "name", "disabled"]); }), 128 /* KEYED_FRAGMENT */ )) ]), _: 3 /* FORWARDED */ }, 8, ["modelValue"]) ]); }; } }); export { _sfc_main as default };