Feat: Alter TransferList props #3221 (#6226)

### What problem does this PR solve?

Feat: Alter TransferList props #3221

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu 2025-03-18 16:07:49 +08:00 committed by GitHub
parent 6e8d0e3177
commit 6e5cbd0196
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 5 deletions

View File

@ -16,10 +16,19 @@ export type TransferListItemType = {
selected?: boolean;
};
type TransferListProps = {
export enum TransferListMoveDirection {
Left = 'left',
Right = 'right',
}
export type TransferListProps = {
items: TransferListItemType[];
targetKeys?: string[];
onChange?(targetKeys: string[], direction: 'left' | 'right'): void;
onChange?(
targetKeys: string[],
direction: TransferListMoveDirection,
moveKeys: string[],
): void;
};
export const TransferList = memo(function ({
@ -39,7 +48,8 @@ export const TransferList = memo(function ({
setLeftList(leftList.filter((item) => !item.selected));
onChange?.(
rightItems.map((x) => x.key),
'right',
TransferListMoveDirection.Right,
selectedItems.map((x) => x.key),
);
}, [leftList, onChange, rightList]);
@ -50,7 +60,8 @@ export const TransferList = memo(function ({
setRightList(rightItems);
onChange?.(
rightItems.map((x) => x.key),
'left',
TransferListMoveDirection.Left,
selectedItems.map((x) => x.key),
);
}, [onChange, rightList]);
@ -76,7 +87,6 @@ export const TransferList = memo(function ({
const leftItems = items.filter(
(x) => !targetKeys?.some((y) => y === x.key),
);
console.log('🚀 ~ useEffect ~ leftItems:', leftItems);
setLeftList(leftItems);
const rightItems = items.filter((x) =>
targetKeys?.some((y) => y === x.key),

View File

@ -69,6 +69,7 @@ interface Es {
}
export interface ITenantUser {
id: string;
avatar: string;
delta_seconds: number;
email: string;