spin style update

This commit is contained in:
LittleBoy 2024-12-24 15:12:05 +08:00
parent 9ae42b3ce5
commit b3a3757751
6 changed files with 43 additions and 8 deletions

View File

@ -61,8 +61,8 @@ const InfiniteScroller = React.forwardRef<InfiniteScrollerRef, InfiniteScrollerP
return (<div ref={scrollContainerRef} className={`data-list-container ${props.rootClassName}`} style={props.style}>
<Spin wrapperClassName="data-list-load-spin" spinning={props.loading} indicator={<LoadingOutlined style={{fontSize:30}} spin />}>
{props.loading && <div style={{minHeight:'30vh'}}></div>}
<div className={`data-list-container-inner ${props.className}`}>{props.children}</div>
{props.loading && <div style={{minHeight:'30vh'}}></div>}
{props?.pagination && props.pagination.total > props.pagination.limit * props.pagination.page && (props.loadingPlaceholder ||
<div className="data-load-control-element py-10 text-center">
<div className="loading-text">...</div>

View File

@ -128,7 +128,14 @@ export default function LiveIndex() {
useEffect(initPlayingState, [videoData])
useEffect(() => {
loadList()
return clearAllTimer;
return ()=>{
clearAllTimer();
try{
Array.from(document.querySelectorAll('video')).forEach(v => v.pause())
}catch (e){
console.log(e)
}
}
}, [])
const processDeleteVideo = async (ids: Id[]) => {

View File

@ -1,18 +1,20 @@
import {Input} from "antd";
import {SearchOutlined} from "@ant-design/icons";
import React, {useState} from "react";
import React, {useEffect, useState} from "react";
import {useSetState} from "ahooks";
import useArticleTags from "@/hooks/useArticleTags.ts";
import TagSelect from "@/components/form/tag-select.tsx";
export default function EditSearchForm(props: {
onSubmit: (values: ApiArticleSearchParams) => void;
defaultParams?: Partial<ApiArticleSearchParams>;
}) {
const articleTags = useArticleTags()
const [tags, _setTags] = useState<Id[][]>([]);
const [prevSearchName, setPrevSearchName] = useState<string>()
const [prevSearchName, setPrevSearchName] = useState<string>(props.defaultParams?.title||'')
const [params, setParams] = useSetState<ApiArticleSearchParams>({
pagination: {limit: 10, page: 1},
title:props.defaultParams?.title||''
});
const handleSubmit = (_tags?:Id[][],from?:'input') => {
@ -40,6 +42,20 @@ export default function EditSearchForm(props: {
}
})
}
useEffect(()=>{
const {defaultParams} = props;
if(!defaultParams){
return;
}
const tags = []
if(defaultParams.tags){
defaultParams.tags.forEach(it=>{
tags.push([it.level1, it.level2])
})
_setTags(tags)
}
},[articleTags])
const setTags = (_tags: Id[][])=>{
console.log(_tags)

View File

@ -59,7 +59,6 @@ export default function SearchPanel({onSearch,defaultParams}: SearchPanelProps)
if(defaultParams.tag_level_2_id){
_state.tag_level_2_id = defaultParams.tag_level_2_id
}
console.log('xaf',_state)
setState(_state)
},[tags])
const [pinnedTag, setPinnedTag] = useLocalStorageState<number[]>(

View File

@ -16,7 +16,9 @@ import ButtonToTop from "@/components/scoller/button-to-top.tsx";
import ButtonDeleteBatch from "@/pages/news/components/button-delete-batch.tsx";
import {showErrorToast, showToast} from "@/components/message.ts";
const FilterCache: Partial<ApiArticleSearchParams> = {
tags: [],
}
export default function NewEdit() {
const [state, setState] = useState<{
checkAll?: boolean;
@ -26,12 +28,15 @@ export default function NewEdit() {
const [selectedRowKeys, setSelectedRowKeys] = useState<Id[]>([])
const [params, setParams] = useState<ApiArticleSearchParams>({
pagination: {page: 1, limit: 10}
pagination: {page: 1, limit: 10},
...FilterCache
})
const [data, setData] = useState<DataList<ListArticleItem>>()
const {refresh, loading} = useRequest(() => getList(params), {
refreshDeps: [params],
onSuccess: (data) => {
FilterCache.title = params.title;
FilterCache.tags = params.tags;
setData(prev => {
// 判断页码是否是第1页
if (data.pagination.page == 1) return data;
@ -69,7 +74,7 @@ export default function NewEdit() {
return (<div className="container pb-5 news-edit">
<div className="search-panel-container my-5">
<div className="search-form flex pt-1 gap-5 justify-between">
<EditSearchForm onSubmit={setParams}/>
<EditSearchForm defaultParams={params} onSubmit={setParams}/>
{/*<Button type="primary" onClick={() => setEditId(0)}>手动新增</Button>*/}
</div>

View File

@ -88,6 +88,14 @@ export default function VideoIndex() {
loadList();
showToast('调整视频顺序失败,请重试!', 'warning')
})
return ()=>{
try{
Array.from(document.querySelectorAll('video')).forEach(v => v.pause())
}catch (e){
console.log(e)
}
}
}
//
useEffect(loadList, [])