diff --git a/index.js b/index.js index 5c94a58..4f404a6 100644 --- a/index.js +++ b/index.js @@ -20,7 +20,10 @@ class Select2 extends Component { colorTheme: '#16a45f', buttonTextStyle: {}, buttonStyle: {}, - showSearchBox: true + showSearchBox: true, + showCancelButton: true, + showSelectButton: true, + showHeader: true, } state = { show: false, @@ -83,6 +86,7 @@ class Select2 extends Component { onItemSelected = (item, isSelectSingle) => { let selectedItem = []; let { data } = this.state; + const {onSelectItem,closeOnSelect} = this.props; item.checked = !item.checked; for (let index in data) { if (data[index].id === item.id) { @@ -95,6 +99,12 @@ class Select2 extends Component { if (item.checked) selectedItem.push(item); }) this.setState({ data, selectedItem }); + if(onSelectItem) { + onSelectItem(selectedItem) + if(closeOnSelect){ + this.setState({show: false}) + } + } } keyExtractor = (item, idx) => idx.toString(); renderItem = ({ item, idx }) => { @@ -129,7 +139,8 @@ class Select2 extends Component { let { style, modalStyle, title, onSelect, onRemoveItem, popupTitle, colorTheme, isSelectSingle, cancelButtonText, selectButtonText, searchPlaceHolderText, - selectedTitleStyle, buttonTextStyle, buttonStyle, showSearchBox + selectedTitleStyle, buttonTextStyle, buttonStyle, showSearchBox, showCancelButton, showSelectButton, + showHeader } = this.props; let { show, selectedItem, preSelectedItem } = this.state; return ( @@ -149,11 +160,13 @@ class Select2 extends Component { hideModalContentWhileAnimating isVisible={show}> - - - {popupTitle || title} - - + {showHeader ? ( + + + {popupTitle || title} + + + ):null} { showSearchBox @@ -188,7 +201,7 @@ class Select2 extends Component { /> -