shineout
Version:
Shein 前端组件库
27 lines (21 loc) • 694 B
text/typescript
import { getKey } from '../utils/uid'
import { BaseTransferProps } from './Props'
import { KeygenResult } from '../@types/common'
export default function splitSelecteds<DataItem, Value extends any[]>(
selecteds: KeygenResult[] | undefined,
props: BaseTransferProps<DataItem, Value>
) {
if (!selecteds) return null
const { data, keygen, datum } = props
const left: KeygenResult[] = []
const right: KeygenResult[] = []
selecteds.forEach(s => {
const v = data.find((d, i) => getKey(d, keygen, i) === s)
if (v) {
if (datum.check(v)) right.push(s)
else left.push(s)
}
})
const result: [KeygenResult[], KeygenResult[]] = [left, right]
return result
}