@@ -35,7 +35,8 @@ export const useSongMenu = () => {
3535 const localStore = useLocalStore ( ) ;
3636
3737 // 删除本地歌曲
38- const deleteLocalSong = ( song : SongType , emit : ( event : "removeSong" , args : any [ ] ) => void ) => {
38+ const deleteLocalSong = ( song : SongType , emit ?: ( event : "removeSong" , args : any [ ] ) => void ) => {
39+ if ( emit === undefined ) return ;
3940 if ( ! song . path ) return ;
4041 window . $dialog . warning ( {
4142 title : "确认删除" ,
@@ -151,10 +152,10 @@ export const useSongMenu = () => {
151152 // 生成菜单选项
152153 const getMenuOptions = (
153154 song : SongType ,
154- index : number ,
155+ index : number = - 1 ,
155156 playListId : number = 0 ,
156157 isDailyRecommend : boolean = false ,
157- emit : ( event : "removeSong" , args : any [ ] ) => void ,
158+ emit ? : ( event : "removeSong" , args : any [ ] ) => void ,
158159 ) : DropdownOption [ ] => {
159160 const userPlaylistsData = dataStore . userLikeData . playlists ?. filter (
160161 ( pl ) => pl . userId === dataStore . userData . userId ,
@@ -321,13 +322,14 @@ export const useSongMenu = () => {
321322 label : "从歌单中删除" ,
322323 show :
323324 settingStore . contextMenuOptions . deleteFromPlaylist &&
325+ emit !== undefined &&
324326 isUserPlaylist &&
325327 ( isLocalPlaylist || isLoginNormal ) &&
326328 ! isCloud ,
327329 props : {
328330 onClick : ( ) =>
329331 deleteSongs ( playListId ! , [ song . id ] , {
330- callback : ( ) => emit ( "removeSong" , [ song . id ] ) ,
332+ callback : ( ) => emit ?. ( "removeSong" , [ song . id ] ) ,
331333 songName : song . name ,
332334 } ) ,
333335 } ,
@@ -345,7 +347,11 @@ export const useSongMenu = () => {
345347 {
346348 key : "delete-local" ,
347349 label : "从本地磁盘中删除" ,
348- show : settingStore . contextMenuOptions . deleteFromLocal && isLocal && ! isCurrent ,
350+ show :
351+ settingStore . contextMenuOptions . deleteFromLocal &&
352+ emit !== undefined &&
353+ isLocal &&
354+ ! isCurrent ,
349355 props : {
350356 onClick : ( ) => deleteLocalSong ( song , emit ) ,
351357 } ,
0 commit comments