import { defineComponent, reactive,watch } from 'vue' import icon from '../videoDetailItem/images/icon.png' import classes from './musicItem.module.less' import music from '@/components/musicLIstItem/images/music.png' import arrow from '@/components/musicLIstItem/images/arrow.png' import { useRouter } from 'vue-router' import { ElTooltip } from 'element-plus' type Props = { id?: Number addName: String addUserAvatar: String musicSheetName: String subjectNames: String composer: String chargeType: String } const chargeTypes = { CHARGE: '点播', FREE: '免费', VIP: 'VIP' } export default defineComponent({ name: 'musicItem', emits:['musicDetail'], props: { item: { type: Object as () => Props, default: () => ({}) }, onClick: { type: Function, default: (item: any) => {} } }, setup(props: any,conent) { const router = useRouter() const state = reactive({ item:props.item }) watch( () => props.item, item => { state.item = item } ) const gotoMusicDetail = () => { conent.emit('musicDetail',state.item.id) // router.push({path:'/muiscDetial',query:{id:state.item.id}}) } return () => (
{ props.onClick(state.item) }} >
gotoMusicDetail()}>

{state.item.musicSheetName}

作曲: {state.item.composer}

) } })