Skip to content

Commit 6d5f8da

Browse files
committed
chore(SelectCascader): add activeOpacity and underlayColor of props
1 parent e12da68 commit 6d5f8da

File tree

2 files changed

+81
-21
lines changed

2 files changed

+81
-21
lines changed

packages/core/src/SelectCascader/README.md

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -130,18 +130,44 @@ export default class SelectCascaderDemo extends Component {
130130

131131
## Props
132132

133-
| 参数 | 说明 | 类型 | 默认值 |
134-
| --------- | --------------------- | --------- | ------ |
135-
| `data` | 列表数据 | array | - |
136-
| `value` | 选中的值 | array | - |
137-
| `cols` | 列数 | number | 3 |
138-
| `defaultValue` | 默认选择的值 | array | - |
139-
| `onChange` | 选中时执行此回调 | Function(value, label) | - |
140-
| `onOk` | 确定选中的值 | Function(value, label) | - |
141-
| `onDismiss` | 隐藏 | Function() | - |
142-
| `maskClosable` | 点击蒙层是否关闭 | boolean | `true` |
143-
| `okText` | 确定button文字 | string | 确定 |
144-
| `dismissText` | 取消button文字 | string | 取消 |
145-
| `title` | 弹框标题 | string | 请选择 |
146-
| `pickerItemStyle` | 选择器样式 | object | - |
147-
| `headerStyle` | 选择器头部样式 | object | - |
133+
```ts
134+
import { StyleProp, TextStyle, ViewStyle } from 'react-native';
135+
136+
export type SelectCascaderOneValue = string | number | undefined;
137+
export type SelectCascaderValue = SelectCascaderOneValue[];
138+
139+
export interface SelectCascaderProps {
140+
/** 隐藏 */
141+
onDismiss?: () => void;
142+
/** 弹框标题 */
143+
title?: string;
144+
/** 取消button文字 */
145+
dismissText?: string;
146+
/** 确定button文字 */
147+
okText?: string;
148+
/** 选中的值 */
149+
value?: SelectCascaderValue;
150+
/** 选中时执行此回调 */
151+
onChange?: (value: SelectCascaderValue, label: string) => void;
152+
/** 显示隐藏控制值 */
153+
visible: boolean;
154+
/** 列表数据 */
155+
data: ICascaderDataItem[];
156+
/** 默认选择的值 */
157+
defaultValue?: SelectCascaderValue | undefined;
158+
/** 确定选中的值 */
159+
onOk?: (value: SelectCascaderValue, label: string) => void;
160+
/** 列数 默认 3 */
161+
cols?: number;
162+
/** 选择器样式 */
163+
pickerItemStyle?: StyleProp<TextStyle>;
164+
/** 选择器头部样式 */
165+
headerStyle?: StyleProp<ViewStyle>;
166+
/** 点击蒙层是否关闭 */
167+
maskClosable?: boolean;
168+
/** 动作在被触摸操作激活时以多少不透明度显示 默认 1 */
169+
activeOpacity?: number;
170+
/** 动作有触摸操作时显示出来的底层的颜色 默认 #f1f1f1 */
171+
underlayColor?: string;
172+
}
173+
```

packages/core/src/SelectCascader/index.tsx

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,38 @@ export interface ICascaderDataItem {
1515
}
1616

1717
export interface SelectCascaderProps {
18+
/** 隐藏 */
1819
onDismiss?: () => void;
20+
/** 弹框标题 */
1921
title?: string;
22+
/** 取消button文字 */
2023
dismissText?: string;
24+
/** 确定button文字 */
2125
okText?: string;
26+
/** 选中的值 */
2227
value?: SelectCascaderValue;
28+
/** 选中时执行此回调 */
2329
onChange?: (value: SelectCascaderValue, label: string) => void;
30+
/** 显示隐藏控制值 */
2431
visible: boolean;
25-
onVisibleChange?: () => {};
32+
/** 列表数据 */
2633
data: ICascaderDataItem[];
34+
/** 默认选择的值 */
2735
defaultValue?: SelectCascaderValue | undefined;
36+
/** 确定选中的值 */
2837
onOk?: (value: SelectCascaderValue, label: string) => void;
29-
disabled?: boolean;
38+
/** 列数 默认 3 */
3039
cols?: number;
40+
/** 选择器样式 */
3141
pickerItemStyle?: StyleProp<TextStyle>;
42+
/** 选择器头部样式 */
3243
headerStyle?: StyleProp<ViewStyle>;
44+
/** 点击蒙层是否关闭 */
3345
maskClosable?: boolean;
46+
/** 动作在被触摸操作激活时以多少不透明度显示 默认 1 */
47+
activeOpacity?: number;
48+
/** 动作有触摸操作时显示出来的底层的颜色 */
49+
underlayColor?: string;
3450
}
3551

3652
export interface Istate {
@@ -44,7 +60,6 @@ export default class SelectCascader extends Component<SelectCascaderProps, Istat
4460
dismissText: '取消',
4561
okText: '确定',
4662
title: '请选择',
47-
disabled: false,
4863
cols: 3,
4964
maskClosable: true,
5065
};
@@ -178,7 +193,16 @@ export default class SelectCascader extends Component<SelectCascaderProps, Istat
178193
};
179194

180195
render() {
181-
const { title, dismissText, okText, onDismiss, headerStyle, visible, maskClosable } = this.props;
196+
const {
197+
title,
198+
dismissText,
199+
okText,
200+
activeOpacity = 1,
201+
underlayColor = '#f1f1f1',
202+
onDismiss,
203+
headerStyle,
204+
maskClosable,
205+
} = this.props;
182206
const cols = this.getCols();
183207
return (
184208
<Modal
@@ -189,13 +213,23 @@ export default class SelectCascader extends Component<SelectCascaderProps, Istat
189213
>
190214
<>
191215
<View style={[styles.header, headerStyle]}>
192-
<TouchableHighlight onPress={onDismiss} style={[styles.headerItem]}>
216+
<TouchableHighlight
217+
activeOpacity={activeOpacity}
218+
underlayColor={underlayColor}
219+
onPress={onDismiss}
220+
style={[styles.headerItem]}
221+
>
193222
<Text>{dismissText}</Text>
194223
</TouchableHighlight>
195224
<View style={[styles.headerItem]}>
196225
<Text>{title}</Text>
197226
</View>
198-
<TouchableHighlight onPress={this.onOk} style={[styles.headerItem]}>
227+
<TouchableHighlight
228+
activeOpacity={activeOpacity}
229+
underlayColor={underlayColor}
230+
onPress={this.onOk}
231+
style={[styles.headerItem]}
232+
>
199233
<Text>{okText}</Text>
200234
</TouchableHighlight>
201235
</View>

0 commit comments

Comments
 (0)