From 9905ae435bfdd475b9892a67df86175781012b87 Mon Sep 17 00:00:00 2001 From: jrammmy Date: Thu, 1 Apr 2021 12:45:00 -0700 Subject: [PATCH] feat: able to add items you search for that are not in the list --- src/components/dropdown/index.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/dropdown/index.js b/src/components/dropdown/index.js index b25459b..fb5adbc 100644 --- a/src/components/dropdown/index.js +++ b/src/components/dropdown/index.js @@ -186,7 +186,8 @@ export default class Dropdown extends PureComponent { selected: -1, modal: false, value, - data: this.props.data + data: this.props.data, + searchText, }; } @@ -569,16 +570,15 @@ export default class Dropdown extends PureComponent { ); } - searchFilterFunction(text) { + searchFilterFunction(searchText) { let arrayholder = this.props.data const newData = arrayholder.filter(item => { const itemData = `${item.value.toUpperCase()}`; - const textData = text.toUpperCase(); - + const textData = searchText.toUpperCase(); return itemData.indexOf(textData) > -1; }); - - this.setState({ data: newData }); + newData.push({value: searchText}); + this.setState({ data: newData, searchText }); }; renderItem({ item, index }) { @@ -771,6 +771,10 @@ export default class Dropdown extends PureComponent { style={styles.input} placeholder={'Search here'} placeholderTextColor="#808080" + clearButtonMode="always" + onSubmitEditing={() => { + this.setState({value: this.state.searchText, modal: false}) + }} onChangeText={text => this.searchFilterFunction(text)} />