|
|
@@ -8,8 +8,16 @@ import { PaginationConfig } from 'antd/es/pagination';
|
|
|
import router from '@/router';
|
|
|
import './style.less';
|
|
|
import LocalStorage from '@/LocalStorage';
|
|
|
+import { makeAutoObservable } from 'mobx';
|
|
|
|
|
|
const FormItem = Form.Item;
|
|
|
+
|
|
|
+const page = makeAutoObservable({
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ total: 0,
|
|
|
+});
|
|
|
+
|
|
|
const SliceList: React.FC = () => {
|
|
|
|
|
|
const [form] = Form.useForm();
|
|
|
@@ -23,20 +31,10 @@ const SliceList: React.FC = () => {
|
|
|
slice_char_len: number,
|
|
|
};
|
|
|
|
|
|
- interface PageInfo {
|
|
|
- pageNum: number,
|
|
|
- pageSize: number,
|
|
|
- total: number,
|
|
|
- };
|
|
|
-
|
|
|
const location = useLocation();
|
|
|
const [listLoading, setListLoading] = React.useState(false);
|
|
|
const [list, setList] = React.useState<Item[]>([]);
|
|
|
- const [page, setPage] = React.useState<PageInfo>({
|
|
|
- pageNum: 1,
|
|
|
- pageSize: 10,
|
|
|
- total: 0,
|
|
|
- });
|
|
|
+
|
|
|
|
|
|
const [createFlag, setCreateFlag] = React.useState<boolean>();
|
|
|
const [deleteFlag, setDeleteFlag] = React.useState<boolean>();
|
|
|
@@ -63,11 +61,7 @@ const SliceList: React.FC = () => {
|
|
|
}
|
|
|
});
|
|
|
setList(list);
|
|
|
- setPage({
|
|
|
- pageNum: page.pageNum,
|
|
|
- pageSize: page.pageSize,
|
|
|
- total: res.total,
|
|
|
- });
|
|
|
+ page.total = res.total;
|
|
|
} catch (error) {
|
|
|
console.error(error);
|
|
|
} finally {
|
|
|
@@ -102,14 +96,16 @@ const SliceList: React.FC = () => {
|
|
|
|
|
|
const init = async () => {
|
|
|
if (location.state) {
|
|
|
- const { text, page } = location.state;
|
|
|
+ const { text, page: currentPage } = location.state;
|
|
|
if (text) {
|
|
|
form.setFieldsValue({
|
|
|
text: text,
|
|
|
});
|
|
|
}
|
|
|
- if (page && page.pageNum && page.pageSize) {
|
|
|
- setPage(page);
|
|
|
+ if (currentPage && currentPage.pageNum && currentPage.pageSize) {
|
|
|
+ page.pageNum = currentPage.pageNum;
|
|
|
+ page.pageSize = currentPage.pageSize;
|
|
|
+ page.total = currentPage.total;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -130,6 +126,11 @@ const SliceList: React.FC = () => {
|
|
|
setUpdateFlag(tFlag);
|
|
|
const lFlag = LocalStorage.getStatusFlag('deepseek:slice:list');
|
|
|
setListFlag(lFlag);
|
|
|
+ return () => {
|
|
|
+ page.pageNum = 1;
|
|
|
+ page.pageSize = 10;
|
|
|
+ page.total = 0;
|
|
|
+ };
|
|
|
}, [])
|
|
|
|
|
|
const paginationConfig: PaginationConfig = {
|
|
|
@@ -147,11 +148,8 @@ const SliceList: React.FC = () => {
|
|
|
pageSize: page.pageSize,
|
|
|
total: page.total,
|
|
|
onChange: async (pageNum, pageSize) => {
|
|
|
- setPage({
|
|
|
- pageNum: pageNum,
|
|
|
- pageSize: pageSize,
|
|
|
- total: page.total,
|
|
|
- });
|
|
|
+ page.pageNum = pageNum;
|
|
|
+ page.pageSize = pageSize;
|
|
|
const values = form.getFieldsValue();
|
|
|
const searchText = values.text ? values.text : '';
|
|
|
await appApi.fetchList({ searchText: searchText });
|
|
|
@@ -194,7 +192,7 @@ const SliceList: React.FC = () => {
|
|
|
sliceId: 'new',
|
|
|
});
|
|
|
const { text } = form.getFieldsValue();
|
|
|
- router.navigate({ pathname: path }, { state: { text: text, page } });
|
|
|
+ router.navigate({ pathname: path }, { state: { text: text, page: { pageNum: page.pageNum, pageSize: page.pageSize, total: page.total } } });
|
|
|
}}>
|
|
|
新增切片
|
|
|
</Button>
|
|
|
@@ -254,7 +252,7 @@ const SliceList: React.FC = () => {
|
|
|
sliceId: item.slice_id,
|
|
|
});
|
|
|
const { text } = form.getFieldsValue();
|
|
|
- router.navigate({ pathname: path }, { state: { text: text, page } });
|
|
|
+ router.navigate({ pathname: path }, { state: { text: text, page: { pageNum: page.pageNum, pageSize: page.pageSize, total: page.total } } });
|
|
|
}}>
|
|
|
<SettingOutlined /> 编辑
|
|
|
</a>
|