import { Icon, NoticeBar, Tag, Image } from "vant"; import { defineComponent, PropType } from "vue"; import styles from "./index.module.less"; import IconPlay from "@/assets/icon-play.png"; import IconFine from "@/assets/icon_fine.png"; import IconAlbum from "@/assets/icon_album_active.png"; import { useRouter } from "vue-router"; export default defineComponent({ name: "TheSong", props: { list: { type: Array as PropType, default: () => [], }, }, setup(props) { const router = useRouter(); const colors: any = { FREE: { color: "#01B84F", text: "免费", }, VIP: { color: "#CD863E", text: "会员", }, CHARGE: { color: "#3591CE", text: "点播", }, }; return () => (
{props.list.map((n: any) => (
router.push({ path: "/musicDetail", query: { id: n.id } }) } >
{colors[n.chargeType].text} {n.exquisiteFlag === 1 && ( )} {n.albumNums > 0 && ( )} {n.musicSheetName} -{n.composer}
{n.addName ? (
上传者:{n.addName}
) : (
作曲:{n.composer}
)}
{n?.subjectNames.split(",").map((name: any) => ( {name} ))}
))}
); }, });