Skip to content

Commit 4ef5fb8

Browse files
authored
Merge pull request sohobloo#49 from evansiroky/master
Add ability to style dropdown text
2 parents 925edd4 + d07e30d commit 4ef5fb8

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

components/ModalDropdown.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ export default class ModalDropdown extends Component {
4040
style: PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.array]),
4141
textStyle: PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.array]),
4242
dropdownStyle: PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.array]),
43+
dropdownTextStyle: PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.array]),
44+
dropdownTextHighlightStyle: PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.array]),
4345

4446
adjustFrame: PropTypes.func,
4547
renderRow: PropTypes.func,
@@ -277,7 +279,13 @@ export default class ModalDropdown extends Component {
277279
let key = `row_${rowID}`;
278280
let highlighted = rowID == this.state.selectedIndex;
279281
let row = !this.props.renderRow ?
280-
(<Text style={[styles.rowText, highlighted && styles.highlightedRowText]}>
282+
(<Text style={[
283+
styles.rowText,
284+
this.props.dropdownTextStyle,
285+
highlighted && styles.highlightedRowText,
286+
highlighted && this.props.dropdownTextHighlightStyle
287+
]}
288+
>
281289
{rowData}
282290
</Text>) :
283291
this.props.renderRow(rowData, rowID, highlighted);

example/index.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ class Demo extends Component {
8383
style={styles.dropdown_3}
8484
options={DEMO_OPTIONS_1}
8585
adjustFrame={style => this._dropdown_3_adjustFrame(style)}
86+
dropdownTextStyle={styles.dropdown_3_dropdownTextStyle}
87+
dropdownTextHighlightStyle={styles.dropdown_3_dropdownTextHighlightStyle}
8688
/>
8789
</ScrollView>
8890
</View>
@@ -295,6 +297,14 @@ const styles = StyleSheet.create({
295297
borderWidth: 1,
296298
borderRadius: 1,
297299
},
300+
dropdown_3_dropdownTextStyle: {
301+
backgroundColor: '#000',
302+
color: '#fff'
303+
},
304+
dropdown_3_dropdownTextHighlightStyle: {
305+
backgroundColor: '#fff',
306+
color: '#000'
307+
},
298308
dropdown_4: {
299309
margin: 8,
300310
borderColor: 'lightgray',

0 commit comments

Comments
 (0)