Skip to content

Commit 0d96ef3

Browse files
committed
chore(SelectCascader): Add renderDismissNode,renderTitleNode,renderOkNode of props
1 parent 6d1eeb0 commit 0d96ef3

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

packages/core/src/SelectCascader/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ export interface SelectCascaderProps {
145145
dismissText?: string;
146146
/** 确定button文字 */
147147
okText?: string;
148+
/** 自定义取消元素 */
149+
renderDismissNode: React.ReactNode;
150+
/** 自定义标题元素 */
151+
renderTitleNode: React.ReactNode;
152+
/** 自定义确定元素 */
153+
renderOkNode: React.ReactNode;
148154
/** 选中的值 */
149155
value?: SelectCascaderValue;
150156
/** 选中时执行此回调 */

packages/core/src/SelectCascader/index.tsx

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { View, Text, StyleSheet, TouchableHighlight, StyleProp, TextStyle, ViewStyle } from 'react-native';
2-
import React, { Component } from 'react';
2+
import React, { Component, ReactNode } from 'react';
33
import { Picker } from '@react-native-picker/picker';
44
import arrayTreeFilter from '../utils/arrayTreeFilter';
55
import Modal from '../Modal';
@@ -23,6 +23,12 @@ export interface SelectCascaderProps {
2323
dismissText?: string;
2424
/** 确定button文字 */
2525
okText?: string;
26+
/** 自定义取消元素 */
27+
renderDismissNode: React.ReactNode;
28+
/** 自定义标题元素 */
29+
renderTitleNode: React.ReactNode;
30+
/** 自定义确定元素 */
31+
renderOkNode: React.ReactNode;
2632
/** 选中的值 */
2733
value?: SelectCascaderValue;
2834
/** 选中时执行此回调 */
@@ -202,7 +208,16 @@ export default class SelectCascader extends Component<SelectCascaderProps, Istat
202208
onDismiss,
203209
headerStyle,
204210
maskClosable,
211+
renderDismissNode,
212+
renderTitleNode,
213+
renderOkNode,
205214
} = this.props;
215+
// /** 自定义取消元素 */
216+
// renderDismissNode: React.ReactNode;
217+
// /** 自定义标题元素 */
218+
// renderTitleNode: React.ReactNode;
219+
// /** 自定义确定元素 */
220+
// renderOkNode: React.ReactNode;
206221
const cols = this.getCols();
207222
return (
208223
<Modal
@@ -219,18 +234,16 @@ export default class SelectCascader extends Component<SelectCascaderProps, Istat
219234
onPress={onDismiss}
220235
style={[styles.headerItem]}
221236
>
222-
<Text>{dismissText}</Text>
237+
{renderDismissNode ?? <Text>{dismissText}</Text>}
223238
</TouchableHighlight>
224-
<View style={[styles.headerItem]}>
225-
<Text>{title}</Text>
226-
</View>
239+
<View style={[styles.headerItem]}>{renderTitleNode ?? <Text>{title}</Text>}</View>
227240
<TouchableHighlight
228241
activeOpacity={activeOpacity}
229242
underlayColor={underlayColor}
230243
onPress={this.onOk}
231244
style={[styles.headerItem]}
232245
>
233-
<Text>{okText}</Text>
246+
{renderOkNode ?? <Text>{okText}</Text>}
234247
</TouchableHighlight>
235248
</View>
236249
<View style={styles.list}>{cols}</View>

0 commit comments

Comments
 (0)