@fecp/mobile
Version:
90 lines (89 loc) • 3.7 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
const vue = require("vue");
;/* empty css */
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
const index = require("../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/tabs/index.js");
const index$1 = require("../../../../../../node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/tab/index.js");
const _hoisted_1 = { class: "fec-tab-content" };
const _sfc_main = {
__name: "Tabs",
props: {
modelValue: {
type: String,
default: ""
},
options: {
type: Array,
default: []
},
autoHeight: {
//高度自适应
type: Boolean,
default: true
},
height: {
//高度
type: String,
default: "300"
}
},
emits: ["update:modelValue"],
setup(__props, { emit: __emit }) {
const props = __props;
const emit = __emit;
const activeName = vue.computed({
get: () => {
return props.modelValue;
},
set: (val) => {
emit("update:modelValue", val);
}
});
const compHeight = vue.computed(() => {
if (props.autoHeight) {
return "100%";
} else {
return props.height + "px";
}
});
return (_ctx, _cache) => {
const _component_van_tab = index$1.Tab;
const _component_van_tabs = index.Tabs;
return vue.openBlock(), vue.createElementBlock("div", {
class: "fec-tabs-container",
style: vue.normalizeStyle("height:" + vue.unref(compHeight))
}, [
vue.createVNode(_component_van_tabs, vue.mergeProps(_ctx.$attrs, {
class: "fec-tabs",
active: vue.unref(activeName),
"onUpdate:active": _cache[0] || (_cache[0] = ($event) => vue.isRef(activeName) ? activeName.value = $event : null),
animated: "",
ellipsis: ""
}), {
default: vue.withCtx(() => [
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.options, (item) => {
return vue.openBlock(), vue.createBlock(_component_van_tab, vue.mergeProps({ ref_for: true }, item, {
"show-zero-badge": false,
replace: ""
}), null, 16);
}), 256))
]),
_: 1
}, 16, ["active"]),
vue.createElementVNode("div", _hoisted_1, [
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
])
], 4);
};
}
};
const _Tabs = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-b371b7d3"]]);
exports.default = _Tabs;