import { defineComponent, reactive, watch } from 'vue' import styles from './point.module.less' import { iconMulv, iconArrow } from '../image/icons.json' import iconZhibo from '../image/icon-load.gif' import { iconImage, iconImageActive, iconVideo, iconVideoActive, iconSong, iconSongActive } from '../image/icons.json' import { Collapse, CollapseItem, Icon, Image } from 'vant' import PlayLoading from './play-loading' export default defineComponent({ name: 'points-list', props: { data: { type: Array, default: () => [] }, tabActive: { type: [String, Number, Array], default: '' }, itemActive: { type: String, default: '' } }, emits: ['handleSelect'], setup(props, { emit }) { const pointData = reactive({ active: props.tabActive[0] || '', childActive: props.tabActive[1] || '' }) watch( () => props.tabActive, () => { pointData.active = props.tabActive[0] || '' pointData.childActive = props.tabActive[1] || '' } ) // 获取对应图片 const getImage = (item: any) => { if (item.type === 'VIDEO') { return props.itemActive == item.id ? iconVideoActive : iconVideo } else if (['IMAGE', 'IMG'].includes(item.type)) { return props.itemActive == item.id ? iconImageActive : iconImage } else if (item.type === 'SONG') { return props.itemActive == item.id ? iconSongActive : iconSong } else { return props.itemActive == item.id ? iconVideoActive : iconVideo } } return () => (