- 添加基于 VbenAdmin + Vue3 + Element Plus 的前端管理系统 - 包含完整的 UI 组件库和工具链 - 支持多应用架构 (web-ele, backend-mock, playground) - 包含完整的开发规范和配置 - 修复 admin 目录的子模块问题,确保正确提交
46 lines
977 B
Vue
46 lines
977 B
Vue
<script lang="ts" setup>
|
|
import { ref } from 'vue';
|
|
|
|
import { useVbenDrawer, VbenButton } from '@vben/common-ui';
|
|
|
|
const list = ref<number[]>([]);
|
|
|
|
const [Drawer, drawerApi] = useVbenDrawer({
|
|
onCancel() {
|
|
drawerApi.close();
|
|
},
|
|
onConfirm() {
|
|
console.log('onConfirm');
|
|
},
|
|
onOpenChange(isOpen) {
|
|
if (isOpen) {
|
|
handleUpdate(10);
|
|
}
|
|
},
|
|
});
|
|
|
|
function handleUpdate(len: number) {
|
|
drawerApi.setState({ loading: true });
|
|
setTimeout(() => {
|
|
list.value = Array.from({ length: len }, (_v, k) => k + 1);
|
|
drawerApi.setState({ loading: false });
|
|
}, 2000);
|
|
}
|
|
</script>
|
|
<template>
|
|
<Drawer title="自动计算高度">
|
|
<div
|
|
v-for="item in list"
|
|
:key="item"
|
|
class="even:bg-heavy bg-muted flex-center h-[220px] w-full"
|
|
>
|
|
{{ item }}
|
|
</div>
|
|
<template #prepend-footer>
|
|
<VbenButton type="link" @click="handleUpdate(6)">
|
|
点击更新数据
|
|
</VbenButton>
|
|
</template>
|
|
</Drawer>
|
|
</template>
|