mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-06 00:18:51 +08:00
67 lines
1.5 KiB
Vue
67 lines
1.5 KiB
Vue
<script setup lang="ts">
|
|
import { ref } from "vue";
|
|
import { list } from "./virtual/list";
|
|
|
|
defineOptions({
|
|
name: "VxeTable"
|
|
});
|
|
|
|
const selected = ref(0);
|
|
|
|
function tabClick({ index }) {
|
|
selected.value = index;
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<el-card shadow="never">
|
|
<template #header>
|
|
<div class="card-header">
|
|
<span class="font-medium">
|
|
虚拟滚动采用
|
|
<el-link
|
|
href="https://vxetable.cn/#/table/scroll/scroll"
|
|
target="_blank"
|
|
style="margin: 0 4px 5px; font-size: 16px"
|
|
>
|
|
vxe-table
|
|
</el-link>
|
|
</span>
|
|
</div>
|
|
</template>
|
|
|
|
<el-tabs @tab-click="tabClick">
|
|
<template v-for="(item, index) of list" :key="item.key">
|
|
<el-tab-pane :lazy="true">
|
|
<template #label>
|
|
<el-tooltip
|
|
:content="`(第 ${index + 1} 个示例)${item.content}`"
|
|
placement="top-end"
|
|
>
|
|
<span>{{ item.title }}</span>
|
|
</el-tooltip>
|
|
</template>
|
|
<component :is="item.component" v-if="selected == index" />
|
|
</el-tab-pane>
|
|
</template>
|
|
</el-tabs>
|
|
</el-card>
|
|
</template>
|
|
|
|
<style scoped>
|
|
:deep(.el-tabs__nav-wrap)::after {
|
|
height: 1px;
|
|
}
|
|
|
|
:deep(.el-tabs__nav-next),
|
|
:deep(.el-tabs__nav-prev) {
|
|
font-size: 16px;
|
|
color: var(--el-text-color-primary);
|
|
}
|
|
|
|
:deep(.el-tabs__nav-next.is-disabled),
|
|
:deep(.el-tabs__nav-prev.is-disabled) {
|
|
opacity: 0.5;
|
|
}
|
|
</style>
|