@fruits-chain/react-native-xiaoshu
Version:
🌈 React Native UI library
71 lines (70 loc) • 1.71 kB
TypeScript
export declare type PickerOptionType = 'cascade' | 'multiple' | 'single';
export declare type PickerValue = string | number;
/** 单列选择 */
export declare type PickerOption = {
value: PickerValue;
label: PickerValue;
disabled?: boolean;
[key: string]: any;
};
export declare type PickerOptionMultipleWidthDefaultValue = {
defaultValue?: PickerValue;
options: PickerOption[];
};
/** 多列选择 */
export declare type PickerOptionMultiple = PickerOptionMultipleWidthDefaultValue | PickerOption[];
/** 联级选择 */
export declare type PickerOptionCascade = PickerOption & {
children?: PickerOptionCascade[];
[key: string]: any;
};
export declare type Column = PickerOption | PickerOptionMultiple | PickerOptionCascade;
export interface PickerViewProps {
value?: PickerValue[];
defaultValue?: PickerValue[];
/**
* 对象数组,配置每一列显示的数据
*/
columns: Column[];
/**
* 是否显示加载状态
* @default false
*/
loading?: boolean;
/**
* 选项高度
* @default 50
*/
itemHeight?: number;
/**
* 可见的选项个数
* @default 5
*/
visibleItemCount?: number;
/**
* 选项改变时触发
*/
onChange?: (values: PickerValue[], options: Column[]) => void;
}
export interface PickerViewColumnProps {
/**
* 选项高度
*/
itemHeight: number;
/**
* 选项
*/
options: PickerOption[];
/**
* 当前值
*/
value?: PickerValue;
/**
* 可见的选项个数
*/
visibleItemCount?: number;
/**
* 当值变化的时候
*/
onChange?: (v: PickerOption) => void;
}