UNPKG

1.34 kBTypeScriptView Raw
1/// <reference types="react" />
2
3import * as React from 'react';
4import CommonProps from '../util';
5
6interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
7 onChange?: any;
8 onClick?: any;
9 onKeyDown?: any;
10}
11
12export interface SwitchProps extends HTMLAttributesWeak, CommonProps {
13 /**
14 * 自定义类名
15 */
16 className?: string;
17 name?: string;
18
19 /**
20 * 自定义内敛样式
21 */
22 style?: React.CSSProperties;
23
24 /**
25 * 打开时的内容
26 */
27 checkedChildren?: React.ReactNode;
28
29 /**
30 * 关闭时的内容
31 */
32 unCheckedChildren?: React.ReactNode;
33
34 /**
35 * 开关状态改变是触发此事件
36 */
37 onChange?: (checked: boolean, e: any) => void;
38
39 /**
40 * 开关当前的值(针对受控组件)
41 */
42 checked?: boolean;
43 autoWidth?: boolean;
44
45 /**
46 * 开关默认值 (针对非受控组件)
47 */
48 defaultChecked?: boolean;
49
50 /**
51 * 表示开关被禁用
52 */
53 disabled?: boolean;
54
55 /**
56 * switch的尺寸
57 */
58 size?: 'medium' | 'small';
59
60 /**
61 * 鼠标点击事件
62 */
63 onClick?: React.MouseEventHandler;
64
65 /**
66 * 键盘按键事件
67 */
68 onKeyDown?: React.KeyboardEventHandler;
69}
70
71export default class Switch extends React.Component<SwitchProps, any> {}