|
@@ -35,9 +35,9 @@ interface Props {
|
|
const Transfer = (props: Props) => {
|
|
const Transfer = (props: Props) => {
|
|
const { dataSource, targetKeys, render, onChange } = props
|
|
const { dataSource, targetKeys, render, onChange } = props
|
|
const { lang } = useModel('useI18n')
|
|
const { lang } = useModel('useI18n')
|
|
- const [ right_keys, setRightKeys ] = useState<IdType[]>(targetKeys)
|
|
|
|
- const [ left_selectd_keys, setLeftSelectedKeys ] = useState<IdType[]>([])
|
|
|
|
- const [ right_selectd_keys, setRightSelectedKeys ] = useState<IdType[]>([])
|
|
|
|
|
|
+ const [right_keys, setRightKeys] = useState<IdType[]>(targetKeys)
|
|
|
|
+ const [left_selectd_keys, setLeftSelectedKeys] = useState<IdType[]>([])
|
|
|
|
+ const [right_selectd_keys, setRightSelectedKeys] = useState<IdType[]>([])
|
|
|
|
|
|
const List = (list_props: IListProps) => {
|
|
const List = (list_props: IListProps) => {
|
|
const { data, selected_keys, setSelectedKeys } = list_props
|
|
const { data, selected_keys, setSelectedKeys } = list_props
|
|
@@ -46,13 +46,14 @@ const Transfer = (props: Props) => {
|
|
setSelectedKeys(
|
|
setSelectedKeys(
|
|
selected_keys.includes(id) ?
|
|
selected_keys.includes(id) ?
|
|
selected_keys.filter(i => i != id) :
|
|
selected_keys.filter(i => i != id) :
|
|
- [ ...selected_keys, id ],
|
|
|
|
|
|
+ [...selected_keys, id],
|
|
)
|
|
)
|
|
}
|
|
}
|
|
|
|
|
|
return (
|
|
return (
|
|
<div className={styles.list}>
|
|
<div className={styles.list}>
|
|
{data.map(item => {
|
|
{data.map(item => {
|
|
|
|
+ if (!item || !item.id) return null
|
|
const is_selected = selected_keys.includes(item.id)
|
|
const is_selected = selected_keys.includes(item.id)
|
|
|
|
|
|
return (
|
|
return (
|
|
@@ -76,7 +77,7 @@ const Transfer = (props: Props) => {
|
|
}
|
|
}
|
|
|
|
|
|
const moveLeftToRight = () => {
|
|
const moveLeftToRight = () => {
|
|
- let result = [ ...right_keys, ...left_selectd_keys ]
|
|
|
|
|
|
+ let result = [...right_keys, ...left_selectd_keys]
|
|
setRightKeys(result)
|
|
setRightKeys(result)
|
|
setLeftSelectedKeys([])
|
|
setLeftSelectedKeys([])
|
|
onChange && onChange(result)
|
|
onChange && onChange(result)
|