pv-image.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <template>
  2. <image :src="ossUrl + imgSrc"
  3. :style="{width: width ? `${width}rpx` : '100%', height: height ? `${height}rpx` : '100%'}" :mode="mode">
  4. </image>
  5. </template>
  6. <script>
  7. import defaultConfig from '@/config/default.js'
  8. export default {
  9. props: {
  10. imgSrc: String,
  11. width: { // 图片宽度
  12. type: [Number, String],
  13. },
  14. height: { // 图片高度
  15. type: [Number, String],
  16. },
  17. /**
  18. * scaleToFill 不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
  19. * aspectFit 保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
  20. * aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
  21. * widthFix 宽度不变,高度自动变化,保持原图宽高比不变
  22. * heightFix 高度不变,宽度自动变化,保持原图宽高比不变 App 和 H5 平台 HBuilderX 2.9.3+ 支持、微信小程序需要基础库 2.10.3
  23. **/
  24. mode: {
  25. type: String,
  26. default: 'widthFix'
  27. }
  28. },
  29. data() {
  30. return {
  31. ossUrl: defaultConfig.ossImgUrl
  32. }
  33. },
  34. mounted() {
  35. },
  36. // computed: {
  37. // ossUrl() {
  38. // return defaultConfig.ossImgUrl
  39. // }
  40. // }
  41. }
  42. </script>
  43. <style lang="scss" scoped>
  44. </style>