@vrx-arco/pro-components
Version:
<p align="center"> <img src="https://vrx-arco.github.io/arco-design-pro/favicon.svg" width="200" height="250"> </p>
42 lines (41 loc) • 1.22 kB
JavaScript
import { injectSearchLayout } from "./context.js";
import { createVNode, defineComponent } from "vue";
import { Layout, Tabs } from "@arco-design/web-vue";
const SearchLayoutContent = /* @__PURE__ */ defineComponent({
name: "vrx-arco-search-layout-content",
props: {
useTabs: Boolean,
tabs: {
type: Array,
default: () => []
},
tabsType: {
type: String,
default: "rounded"
}
},
emits: { tabChange: (key) => true },
setup: (props, { slots, emit }) => {
const { bemClass } = injectSearchLayout();
return () => {
const { useTabs, tabs, tabsType } = props;
return createVNode(Layout.Content, { "class": bemClass("__content") }, { default: () => [useTabs ? createVNode(Tabs, {
"type": tabsType,
"lazyLoad": true,
"destroyOnHide": true,
"justify": true,
"animation": true,
"class": bemClass("__content--nav"),
"onChange": (key) => emit("tabChange", key)
}, {
default: () => [tabs.map((item) => createVNode(Tabs.TabPane, {
"key": item.key,
"title": item.title,
"disabled": item.disabled
}, { default: () => [slots.default?.()] }))],
extra: slots.tabExtra
}) : slots.default?.()] });
};
}
});
export { SearchLayoutContent };