fix: model list not refresh
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import _ from 'lodash';
|
||||
import { useRef } from 'react';
|
||||
|
||||
export default function useContainerScroll(
|
||||
@@ -8,8 +9,14 @@ export default function useContainerScroll(
|
||||
const scroller = useRef(container);
|
||||
const optionsRef = useRef(options);
|
||||
const toBottomFlag = useRef(options?.toBottom);
|
||||
|
||||
const debunceResetWheeled = _.debounce(() => {
|
||||
isWheeled.current = false;
|
||||
}, 5000);
|
||||
|
||||
const handleContentWheel = (e: any) => {
|
||||
isWheeled.current = true;
|
||||
debunceResetWheeled();
|
||||
};
|
||||
|
||||
const scrollerRun = () => {
|
||||
|
||||
@@ -35,6 +35,7 @@ export function useUpdateChunkedList(options: {
|
||||
const ids = data?.ids || [];
|
||||
// CREATE
|
||||
if (data?.type === WatchEventType.CREATE) {
|
||||
const newDataList = _.cloneDeep(dataList);
|
||||
_.each(collections, (item: any) => {
|
||||
const updateIndex = _.findIndex(
|
||||
dataList,
|
||||
@@ -42,12 +43,13 @@ export function useUpdateChunkedList(options: {
|
||||
);
|
||||
if (updateIndex === -1) {
|
||||
const updateItem = _.cloneDeep(item);
|
||||
options.setDataList?.((preDataList: any) => {
|
||||
return _.concat(updateItem, preDataList);
|
||||
});
|
||||
newDataList.push(updateItem);
|
||||
}
|
||||
console.log('create=========', updateIndex, dataList, collections);
|
||||
});
|
||||
options.setDataList?.(() => {
|
||||
return newDataList;
|
||||
});
|
||||
}
|
||||
// DELETE
|
||||
if (data?.type === WatchEventType.DELETE) {
|
||||
@@ -71,6 +73,9 @@ export function useUpdateChunkedList(options: {
|
||||
if (updateIndex > -1) {
|
||||
const updateItem = _.cloneDeep(item);
|
||||
updatedDataList[updateIndex] = updateItem;
|
||||
} else if (updateIndex === -1) {
|
||||
const updateItem = _.cloneDeep(item);
|
||||
updatedDataList.push(updateItem);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user