MessageImage.vue 800 B

123456789101112131415161718192021222324252627282930
  1. <template>
  2. <view v-if="message.messageType===MessageType.image && message.extend" >
  3. <image style="width: 200rpx;" mode="widthFix" :src="message.extend.url" @tap="preImg(message.extend.url)"/>
  4. </view>
  5. <q-preview-image ref="previewImage" :urls="[message.extend?.url]"></q-preview-image>
  6. </template>
  7. <script setup lang="ts">
  8. import MessageType from "@/utils/MessageType";
  9. import type Message from "@/mode/Message";
  10. import QPreviewImage from "@/uni_modules/q-previewImage/components/q-previewImage/q-previewImage.vue";
  11. import {ref} from "vue";
  12. const previewImage = ref(null);
  13. interface Props<T> {
  14. message: T
  15. }
  16. defineProps<Props<Message>>()
  17. const preImg = (url:string) => {
  18. previewImage.value?.open(url)
  19. }
  20. </script>
  21. <style scoped>
  22. .ulink{
  23. display: block;
  24. color: #1cbbb4;
  25. }
  26. </style>