4 changed files with 58 additions and 13 deletions
@ -1,12 +1,51 @@ |
|||||
<template> |
<template> |
||||
<BasicModal v-bind="$attrs" title="Modal Title" :helpMessage="['提示1', '提示2']"> |
<BasicModal |
||||
Modal Info. |
v-bind="$attrs" |
||||
|
destroyOnClose |
||||
|
@register="register" |
||||
|
title="Modal Title" |
||||
|
:helpMessage="['提示1', '提示2']" |
||||
|
@visible-change="handleShow" |
||||
|
> |
||||
|
<template v-if="loading"> |
||||
|
<div class="empty-tips"> 加载中,稍等3秒…… </div> |
||||
|
</template> |
||||
|
<template v-if="!loading"> |
||||
|
<ul> |
||||
|
<li v-for="index in lines" :key="index">加载完成{{ index }}!</li> |
||||
|
</ul> |
||||
|
</template> |
||||
</BasicModal> |
</BasicModal> |
||||
</template> |
</template> |
||||
<script lang="ts"> |
<script lang="ts"> |
||||
import { defineComponent } from 'vue'; |
import { defineComponent, ref } from 'vue'; |
||||
import { BasicModal } from '/@/components/Modal'; |
import { BasicModal, useModalInner } from '/@/components/Modal'; |
||||
export default defineComponent({ |
export default defineComponent({ |
||||
components: { BasicModal }, |
components: { BasicModal }, |
||||
|
setup() { |
||||
|
const loading = ref(true); |
||||
|
const lines = ref(10); |
||||
|
const [register, { setModalProps, redoModalHeight }] = useModalInner(); |
||||
|
function handleShow(visible: boolean) { |
||||
|
if (visible) { |
||||
|
loading.value = true; |
||||
|
setModalProps({ loading: true }); |
||||
|
setTimeout(() => { |
||||
|
lines.value = Math.round(Math.random() * 20 + 10); |
||||
|
loading.value = false; |
||||
|
setModalProps({ loading: false }); |
||||
|
redoModalHeight(); |
||||
|
}, 3000); |
||||
|
} |
||||
|
} |
||||
|
return { register, loading, handleShow, lines }; |
||||
|
}, |
||||
}); |
}); |
||||
</script> |
</script> |
||||
|
<style scoped> |
||||
|
.empty-tips { |
||||
|
height: 100px; |
||||
|
line-height: 100px; |
||||
|
text-align: center; |
||||
|
} |
||||
|
</style> |
||||
|
|||||
Loading…
Reference in new issue