UNPKG

2.64 kBTypeScriptView Raw
1/// <reference types="react" />
2
3import * as React from 'react';
4import CommonProps from '../util';
5
6interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
7 defaultValue?: any;
8 onChange?: any;
9}
10
11export interface TransferProps extends HTMLAttributesWeak, CommonProps {
12 /**
13 * 移动选项模式
14 */
15 mode?: 'normal' | 'simple';
16
17 /**
18 * 数据源
19 */
20 dataSource?: Array<any>;
21
22 /**
23 * (用于受控)当前值
24 */
25 value?: Array<any>;
26
27 /**
28 * (用于非受控)初始值
29 */
30 defaultValue?: Array<any>;
31
32 /**
33 * 值发生改变的时候触发的回调函数
34 */
35 onChange?: (value: Array<any>, data: Array<any>, extra: {}) => void;
36
37 /**
38 * 是否禁用
39 */
40 disabled?: boolean;
41
42 /**
43 * 是否禁用左侧面板
44 */
45 leftDisabled?: boolean;
46
47 /**
48 * 是否禁用右侧面板
49 */
50 rightDisabled?: boolean;
51
52 /**
53 * 列表项渲染函数
54 */
55 itemRender?: (data: any) => React.ReactNode;
56
57 /**
58 * 左右面板是否显示搜索框
59 */
60 showSearch?: boolean | boolean[];
61
62 /**
63 * 左右面板搜索框配置
64 */
65 searchProps?: Record<string, any> | Record<string, any>[];
66
67 /**
68 * 自定义搜索函数
69 */
70 filter?: (searchedValue: string, data: any) => boolean;
71
72 /**
73 * 搜索框输入时触发的回调函数
74 */
75 onSearch?: (searchedValue: string, position: string) => void;
76
77 /**
78 * 是否开启虚拟滚动
79 */
80 useVirtual?: boolean,
81
82 /**
83 * 搜索框占位符
84 */
85 searchPlaceholder?: string;
86
87 /**
88 * 列表为空显示内容
89 */
90 notFoundContent?: React.ReactNode | React.ReactNode[];
91
92 /**
93 * 左右面板标题
94 */
95 titles?: Array<any>;
96
97 /**
98 * 向右向左移动按钮显示内容
99 */
100 operations?: Array<any>;
101
102 /**
103 * 左面板默认选中值
104 */
105 defaultLeftChecked?: Array<any>;
106
107 /**
108 * 右面板默认选中值
109 */
110 defaultRightChecked?: Array<any>;
111
112 /**
113 * 左右面板列表自定义样式类名
114 */
115 listClassName?: string;
116
117 /**
118 * 左右面板列表自定义样式对象
119 */
120 listStyle?: React.CSSProperties;
121
122 /**
123 * 是否允许拖拽排序
124 */
125 sortable?: boolean;
126
127 /**
128 * 拖拽排序时触发的回调函数
129 */
130 onSort?: (value: Array<any>, position: string) => void;
131
132 /**
133 * 请设置 id 以保证transfer的可访问性
134 */
135 id?: string;
136}
137
138export default class Transfer extends React.Component<TransferProps, any> {}