spin style update
This commit is contained in:
parent
9ae42b3ce5
commit
b3a3757751
@ -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>
|
||||
|
@ -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[]) => {
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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[]>(
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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, [])
|
||||
|
Loading…
x
Reference in New Issue
Block a user