vue-vben-admin/src/views/demo/feat/img-preview/index.vue

37 lines
1.2 KiB
Vue
Raw Normal View History

2020-09-28 20:19:10 +08:00
<template>
<PageWrapper title="图片预览示例">
2021-01-11 21:05:16 +08:00
<ImagePreview :imageList="imgList" />
2020-09-28 20:19:10 +08:00
<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>
2020-09-28 20:19:10 +08:00
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import { Alert } from 'ant-design-vue';
2021-01-11 21:05:16 +08:00
import { createImgPreview, ImagePreview } from '/@/components/Preview/index';
import { PageWrapper } from '/@/components/Page';
2020-09-28 20:19:10 +08:00
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({
2021-01-11 21:05:16 +08:00
components: { Alert, PageWrapper, ImagePreview },
2020-09-28 20:19:10 +08:00
setup() {
function handleClick(img: string) {
createImgPreview({ imageList: [img] });
}
function handlePreview() {
createImgPreview({ imageList: imgList });
}
return { imgList, handleClick, handlePreview };
2020-09-28 20:19:10 +08:00
},
});
</script>