diff --git a/index.js b/index.js
index 3f7150b..7b86657 100644
--- a/index.js
+++ b/index.js
@@ -1,6 +1,6 @@
//import liraries
import React, { Component } from 'react';
-import { Text, StyleSheet, TouchableOpacity, View, FlatList, TextInput, Dimensions, Animated, Platform } from 'react-native';
+import { Text, StyleSheet, TouchableOpacity, View, FlatList, TextInput, Dimensions, Animated, Platform, Keyboard } from 'react-native';
import Icon from 'react-native-vector-icons/MaterialCommunityIcons';
import Modal from 'react-native-modal';
import Button from './lib/Button';
@@ -67,6 +67,19 @@ class Select2 extends Component {
return defaultFontName ? { fontFamily: defaultFontName } : {};
}
+
+ handleConfirm() {
+ let { onSelect } = this.props;
+ let { selectedItem } = this.state;
+ let selectedIds = [], selectedObjectItems = [];
+ selectedItem.map(item => {
+ selectedIds.push(item.id);
+ selectedObjectItems.push(item);
+ })
+ onSelect && onSelect(selectedIds, selectedObjectItems);
+ this.setState({ show: false, keyword: '', preSelectedItem: selectedItem });
+ }
+
cancelSelection() {
let { data, preSelectedItem } = this.state;
data.map(item => {
@@ -95,6 +108,11 @@ class Select2 extends Component {
data.map(item => {
if (item.checked) selectedItem.push(item);
})
+ if(isSelectSingle && item.checked) {
+ Keyboard.dismiss()
+ this.closeModal()
+ this.handleConfirm()
+ }
this.setState({ data, selectedItem });
}
keyExtractor = (item, idx) => idx.toString();
@@ -128,11 +146,11 @@ class Select2 extends Component {
render() {
let {
- style, modalStyle, title, onSelect, onRemoveItem, popupTitle, colorTheme,
+ style, modalStyle, title, onRemoveItem, popupTitle, colorTheme,
isSelectSingle, cancelButtonText, selectButtonText, searchPlaceHolderText,
selectedTitleStyle, buttonTextStyle, buttonStyle, showSearchBox
} = this.props;
- let { show, selectedItem, preSelectedItem, inputRef } = this.state;
+ let { show, preSelectedItem, inputRef } = this.state;
return (
+ {!isSelectSingle &&