|
|
|
@ -1,18 +1,20 @@ |
|
|
|
|
import { SingleValueType, BaseOptionType as RCCascaderOption } from 'rc-cascader/lib/Cascader'; |
|
|
|
|
import { BaseOptionType as RCCascaderOption, CascaderProps } from 'rc-cascader'; |
|
|
|
|
|
|
|
|
|
import { CascaderOption } from './Cascader'; |
|
|
|
|
|
|
|
|
|
type onChangeType = ((values: string[], options: CascaderOption[]) => void) | undefined; |
|
|
|
|
|
|
|
|
|
export const onChangeCascader = (onChanged: onChangeType) => (values: SingleValueType, options: RCCascaderOption[]) => { |
|
|
|
|
if (onChanged) { |
|
|
|
|
// map values to strings for backwards compatibility with Cascader components
|
|
|
|
|
onChanged( |
|
|
|
|
values.map((value) => String(value)), |
|
|
|
|
fromRCOptions(options) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
export const onChangeCascader = |
|
|
|
|
(onChanged: onChangeType): CascaderProps['onChange'] => |
|
|
|
|
(values, options) => { |
|
|
|
|
if (onChanged) { |
|
|
|
|
// map values to strings for backwards compatibility with Cascader components
|
|
|
|
|
onChanged( |
|
|
|
|
values.map((value) => String(value)), |
|
|
|
|
fromRCOptions(options) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
type onLoadDataType = ((options: CascaderOption[]) => void) | undefined; |
|
|
|
|
|
|
|
|
@ -27,8 +29,9 @@ const fromRCOptions = (options: RCCascaderOption[]): CascaderOption[] => { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const fromRCOption = (option: RCCascaderOption): CascaderOption => { |
|
|
|
|
const value = option.value ? String(option.value) : ''; |
|
|
|
|
return { |
|
|
|
|
value: option.value ?? '', |
|
|
|
|
label: option.label, |
|
|
|
|
value, |
|
|
|
|
label: typeof option.label === 'string' ? option.label : value, |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|