Blame view

Yi.Vben5.Vue3/docs/src/demos/vben-drawer/auto-height/drawer.vue 977 Bytes
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
  <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>