UNPKG

@alifd/next

Version:

A configurable component library for web built on React.

191 lines (190 loc) 6.92 kB
import React, { Component } from 'react'; import PropTypes from 'prop-types'; import type { DragGapType, PositionType, TransferDataItem, TransferProps, TransferState } from '../types'; /** * Transfer */ declare class Transfer extends Component<TransferProps, TransferState> { static contextTypes: { prefix: PropTypes.Requireable<string>; }; static propTypes: { prefix: PropTypes.Requireable<string>; pure: PropTypes.Requireable<boolean>; rtl: PropTypes.Requireable<boolean>; className: PropTypes.Requireable<string>; /** * 移动选项模式 */ mode: PropTypes.Requireable<string>; /** * 数据源 */ dataSource: PropTypes.Requireable<(object | null | undefined)[]>; /** * (用于受控)当前值 */ value: PropTypes.Requireable<(string | null | undefined)[]>; /** * (用于非受控)初始值 */ defaultValue: PropTypes.Requireable<(string | null | undefined)[]>; /** * 值发生改变的时候触发的回调函数 */ onChange: PropTypes.Requireable<(...args: any[]) => any>; /** * Item 被选中的时候触发的回调函数 */ onSelect: PropTypes.Requireable<(...args: any[]) => any>; /** * 是否禁用 */ disabled: PropTypes.Requireable<boolean>; /** * 是否禁用左侧面板 */ leftDisabled: PropTypes.Requireable<boolean>; /** * 是否禁用右侧面板 */ rightDisabled: PropTypes.Requireable<boolean>; /** * 列表项渲染函数 */ itemRender: PropTypes.Requireable<(...args: any[]) => any>; /** * 自定义搜索函数 */ filter: PropTypes.Requireable<(...args: any[]) => any>; /** * 搜索框输入时触发的回调函数 */ onSearch: PropTypes.Requireable<(...args: any[]) => any>; /** * 搜索框占位符 */ searchPlaceholder: PropTypes.Requireable<string>; /** * 左右面板是否显示搜索框 */ showSearch: PropTypes.Requireable<NonNullable<boolean | (boolean | null | undefined)[] | null | undefined>>; /** * 左右面板搜索框配置项,同 Search 组件 props */ searchProps: PropTypes.Requireable<object>; /** * 列表为空显示内容 */ notFoundContent: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>; /** * 左右面板标题 */ titles: PropTypes.Requireable<PropTypes.ReactNodeLike[]>; /** * 向右向左移动按钮显示内容 */ operations: PropTypes.Requireable<PropTypes.ReactNodeLike[]>; /** * 左面板默认选中值 */ defaultLeftChecked: PropTypes.Requireable<(string | null | undefined)[]>; /** * 右面板默认选中值 */ defaultRightChecked: PropTypes.Requireable<(string | null | undefined)[]>; /** * 左右面板列表自定义样式类名 */ listClassName: PropTypes.Requireable<string>; /** * 左右面板列表自定义样式对象 */ listStyle: PropTypes.Requireable<object>; /** * 是否允许拖拽排序 */ sortable: PropTypes.Requireable<boolean>; /** * 拖拽排序时触发的回调函数 */ onSort: PropTypes.Requireable<(...args: any[]) => any>; /** * 自定义国际化文案对象 */ locale: PropTypes.Requireable<object>; /** * 请设置 id 以保证transfer的可访问性 */ id: PropTypes.Requireable<string>; /** * 接收 children 自定义渲染列表 */ children: PropTypes.Requireable<(...args: any[]) => any>; /** * 是否开启虚拟滚动 */ useVirtual: PropTypes.Requireable<boolean>; /** * 是否显示底部全选 checkbox */ showCheckAll: PropTypes.Requireable<boolean>; defaultPropsConfig: PropTypes.Requireable<object>; errorBoundary: PropTypes.Requireable<NonNullable<boolean | object | null | undefined>>; warning: PropTypes.Requireable<boolean>; device: PropTypes.Requireable<string>; popupContainer: PropTypes.Requireable<any>; }; static defaultProps: { prefix: string; pure: boolean; mode: string; dataSource: never[]; defaultValue: never[]; disabled: boolean; leftDisabled: boolean; rightDisabled: boolean; showCheckAll: boolean; itemRender: (data: TransferDataItem) => React.ReactNode; showSearch: boolean; filter: (searchedValue: string, data: TransferDataItem) => boolean; onSearch: () => void; notFoundContent: string; titles: never[]; operations: never[]; defaultLeftChecked: never[]; defaultRightChecked: never[]; sortable: boolean; onSort: () => void; locale: Partial<{ items: string; item: string; moveAll: string; searchPlaceholder: string; /** * 列表为空显示内容 */ moveToLeft: string; moveToRight: string; }> & { momentLocale?: string | undefined; }; }; static displayName: string; static normalizeValue(value?: string | Array<string>): string[]; static getDerivedStateFromProps(nextProps: TransferProps, prevState: TransferState): Partial<TransferState>; constructor(props: TransferProps, context?: unknown); groupDatasource(value: Array<string>, itemValues: Array<string>, dataSource: Array<TransferDataItem>): TransferDataItem[]; handlePanelChange(position: PositionType, value: string[]): void; handlePanelSort(position: PositionType, dragValue: string, referenceValue: string, dragGap: DragGapType): void; handleMoveItem(direction: PositionType): void; handleSimpleMove(direction: PositionType, v: string): void; handleSimpleMoveAll(direction: PositionType): void; setValueState(st: Partial<TransferState>, rightValue: string[], leftValue: string[], movedValue: string[], direction: PositionType): void; renderCenter(): React.JSX.Element; render(): React.JSX.Element; } declare const _default: import("../../config-provider/types").ConfiguredComponentClass<TransferProps & import("../../config-provider/types").ComponentCommonProps, Transfer, {}> & { normalizeValue: typeof Transfer.normalizeValue; }; export default _default;