37 lines
1.2 KiB
Vue
37 lines
1.2 KiB
Vue
<template>
|
|
<PageWrapper title="图片预览示例">
|
|
<ImagePreview :imageList="imgList" />
|
|
<Alert message="有预览图" type="info" />
|
|
<div class="flex justify-center mt-4">
|
|
<img :src="img" v-for="img in imgList" :key="img" class="mr-2" @click="handleClick(img)" />
|
|
</div>
|
|
<Alert message="无预览图" type="info" />
|
|
<a-button @click="handlePreview" type="primary" class="mt-4">预览图片</a-button>
|
|
</PageWrapper>
|
|
</template>
|
|
<script lang="ts">
|
|
import { defineComponent } from 'vue';
|
|
import { Alert } from 'ant-design-vue';
|
|
import { createImgPreview, ImagePreview } from '/@/components/Preview/index';
|
|
import { PageWrapper } from '/@/components/Page';
|
|
|
|
const imgList: string[] = [
|
|
'https://picsum.photos/id/66/346/216',
|
|
'https://picsum.photos/id/67/346/216',
|
|
'https://picsum.photos/id/68/346/216',
|
|
];
|
|
export default defineComponent({
|
|
components: { Alert, PageWrapper, ImagePreview },
|
|
setup() {
|
|
function handleClick(img: string) {
|
|
createImgPreview({ imageList: [img] });
|
|
}
|
|
|
|
function handlePreview() {
|
|
createImgPreview({ imageList: imgList });
|
|
}
|
|
return { imgList, handleClick, handlePreview };
|
|
},
|
|
});
|
|
</script>
|