Skip to content

Commit ad7fc95

Browse files
author
Sam Tsai
committed
[Issue 157] move onConfirm to be after state
Let the state be set with updated value then trigger `onConfirm`
1 parent cb8a7c0 commit ad7fc95

7 files changed

+12
-11
lines changed

dist/accessible-autocomplete.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/accessible-autocomplete.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/lib/accessible-autocomplete.preact.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/lib/accessible-autocomplete.preact.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/lib/accessible-autocomplete.react.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/lib/accessible-autocomplete.react.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/autocomplete.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -158,19 +158,21 @@ export default class Autocomplete extends Component {
158158

159159
handleComponentBlur (newState) {
160160
const { options, query, selected } = this.state
161-
let newQuery
161+
let newQuery, setStateCallback
162+
162163
if (this.props.confirmOnBlur) {
163164
newQuery = newState.query || query
164-
this.props.onConfirm(options[selected])
165+
setStateCallback = this.props.onConfirm(options[selected])
165166
} else {
166167
newQuery = query
168+
setStateCallback = () => {}
167169
}
168170
this.setState({
169171
focused: null,
170172
menuOpen: newState.menuOpen || false,
171173
query: newQuery,
172174
selected: null
173-
})
175+
}, setStateCallback)
174176
}
175177

176178
handleOptionBlur (event, index) {
@@ -266,13 +268,12 @@ export default class Autocomplete extends Component {
266268
handleOptionClick (event, index) {
267269
const selectedOption = this.state.options[index]
268270
const newQuery = this.templateInputValue(selectedOption)
269-
this.props.onConfirm(selectedOption)
270271
this.setState({
271272
focused: -1,
272273
menuOpen: false,
273274
query: newQuery,
274275
selected: -1
275-
})
276+
}, this.props.onConfirm(selectedOption))
276277
}
277278

278279
handleOptionMouseDown (event) {

0 commit comments

Comments
 (0)