index.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { ElImage } from 'element-plus'
  2. import { defineComponent } from 'vue'
  3. import pan from '../../images/pan.png'
  4. import start from '../../images/start.png'
  5. import hold from '../../images/hold.png'
  6. export default defineComponent({
  7. name: 'item',
  8. props: {
  9. item: {
  10. type: Object,
  11. default: () => ({})
  12. }
  13. },
  14. render() {
  15. const item = this.item
  16. return (
  17. <div class="rounded-sm w-[168px] cursor-pointer overflow-hidden relative transition-all">
  18. <ElImage
  19. class="w-full h-[168px] align-middle"
  20. fit="cover"
  21. src={item.albumCoverUrl || hold}
  22. />
  23. <div class="text-lg text-black whitespace-nowrap text-ellipsis overflow-hidden py-1">
  24. {item.albumName}
  25. </div>
  26. <div class="flex justify-between text-sm text-[#999]">
  27. <div class="flex items-center">
  28. <img src={pan} class="w-[18px] h-[18px] mr-1" />
  29. <span>{item.musicSheetCount}首</span>
  30. </div>
  31. <div class="flex items-center ">
  32. <img src={start} class="w-[18px] h-[18px] mr-1" />
  33. <span>{item.albumFavoriteCount}收藏</span>
  34. </div>
  35. </div>
  36. </div>
  37. )
  38. }
  39. })