修复在线列表的多选问题

This commit is contained in:
lyswhut 2023-04-06 12:49:03 +08:00
parent 1d0cb009c0
commit ca41b412c3
6 changed files with 11 additions and 26 deletions

View File

@ -1,20 +1,3 @@
### 新增
- 隐藏黑色主题背景设置,默认关闭,可以去设置-主题设置更改
### 优化
- 添加歌单分类、排行榜激活指示器
- 调整设置界面竖屏下的UI布局
### 修复
- 修复歌单排序列表滚动重置问题
- 修复搜索提示列表的显示时机问题
- 就放tx源歌词获取失败的问题
- 修复将播放速率调整为0.6后再次打开设置面板将会导致app崩溃的问题
- 修复播放详情页设置面板当前音量显示格式问题
### 其他
- 升级 React Native 到 v0.71.5
- 修复在线列表的多选问题

View File

@ -27,7 +27,7 @@ export interface ListProps {
checkHomePagerIdle: boolean
}
export interface ListType {
setList: (list: LX.Music.MusicInfoOnline[], showSource?: boolean) => void
setList: (list: LX.Music.MusicInfoOnline[], isAppend: boolean, showSource: boolean) => void
setIsMultiSelectMode: (isMultiSelectMode: boolean) => void
setSelectMode: (mode: SelectMode) => void
selectAll: (isAll: boolean) => void
@ -65,9 +65,10 @@ const List = forwardRef<ListType, ListProps>(({
// console.log('render music list')
useImperativeHandle(ref, () => ({
setList(list, showSource = false) {
setList(list, isAppend, showSource) {
setList(list)
setShowSource(showSource)
if (!isAppend && selectedListRef.current.length) setSelectedList(selectedListRef.current = [])
},
setIsMultiSelectMode(isMultiSelectMode) {
isMultiSelectModeRef.current = isMultiSelectMode

View File

@ -18,7 +18,7 @@ export interface OnlineListProps {
checkHomePagerIdle?: boolean
}
export interface OnlineListType {
setList: (list: LX.Music.MusicInfoOnline[], showSource?: boolean) => void
setList: (list: LX.Music.MusicInfoOnline[], isAppend?: boolean, showSource?: boolean) => void
setStatus: (val: Status) => void
}
@ -38,8 +38,9 @@ export default forwardRef<OnlineListType, OnlineListProps>(({
// const loadingMaskRef = useRef<LoadingMaskType>(null)
useImperativeHandle(ref, () => ({
setList(list, showSource) {
listRef.current?.setList(list, showSource)
setList(list, isAppend = false, showSource = false) {
listRef.current?.setList(list, isAppend, showSource)
multipleModeBarRef.current?.setIsSelectAll(false)
},
setStatus(val) {
listRef.current?.setStatus(val)

View File

@ -76,7 +76,7 @@ export default forwardRef<MusicListType, {}>((props, ref) => {
getListDetail(boardState.listDetailInfo.id, page).then((listDetail) => {
const result = setListDetail(listDetail, boardState.listDetailInfo.id, page)
if (isUnmountedRef.current) return
listRef.current?.setList(result.list)
listRef.current?.setList(result.list, true)
listRef.current?.setStatus(boardState.listDetailInfo.maxPage <= page ? 'end' : 'idle')
}).catch(() => {
if (boardState.listDetailInfo.list.length && page == 1) clearListDetail()

View File

@ -71,7 +71,7 @@ export default forwardRef<MusicListType, {}>((props, ref) => {
search(searchInfoRef.current.text, page, searchInfoRef.current.source).then((list) => {
// const result = setListInfo(listDetail, searchMusicState.listDetailInfo.id, page)
if (isUnmountedRef.current) return
listRef.current?.setList(list, searchInfoRef.current.source == 'all')
listRef.current?.setList(list, true, searchInfoRef.current.source == 'all')
listRef.current?.setStatus(info.maxPage <= page ? 'end' : 'idle')
}).catch(() => {
listRef.current?.setStatus('error')

View File

@ -94,7 +94,7 @@ export default forwardRef<MusicListType, MusicListProps>(({ componentId }, ref)
getListDetail(songlistState.listDetailInfo.id, songlistState.listDetailInfo.source, page).then((listDetail) => {
const result = setListDetail(listDetail, songlistState.listDetailInfo.id, page)
if (isUnmountedRef.current) return
listRef.current?.setList(result.list)
listRef.current?.setList(result.list, true)
listRef.current?.setStatus(songlistState.listDetailInfo.maxPage <= page ? 'end' : 'idle')
}).catch(() => {
if (songlistState.listDetailInfo.list.length && page == 1) clearListDetail()