Skip to content

Commit d2e80b9

Browse files
Sam Tsaicolinrotherham
authored andcommitted
[Issue 157] move onConfirm to be after state
Let the state be set with updated value then trigger `onConfirm`
1 parent 24e5bce commit d2e80b9

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
@@ -161,20 +161,22 @@ export default class Autocomplete extends Component {
161161

162162
handleComponentBlur (newState) {
163163
const { options, query, selected } = this.state
164-
let newQuery
164+
let newQuery, setStateCallback
165+
165166
if (this.props.confirmOnBlur) {
166167
newQuery = newState.query || query
167-
this.props.onConfirm(options[selected])
168+
setStateCallback = this.props.onConfirm(options[selected])
168169
} else {
169170
newQuery = query
171+
setStateCallback = () => {}
170172
}
171173
this.setState({
172174
focused: null,
173175
menuOpen: newState.menuOpen || false,
174176
query: newQuery,
175177
selected: null,
176178
validChoiceMade: this.isQueryAnOption(newQuery, options)
177-
})
179+
}, setStateCallback)
178180
}
179181

180182
handleListMouseLeave (event) {
@@ -280,15 +282,14 @@ export default class Autocomplete extends Component {
280282
handleOptionClick (event, index) {
281283
const selectedOption = this.state.options[index]
282284
const newQuery = this.templateInputValue(selectedOption)
283-
this.props.onConfirm(selectedOption)
284285
this.setState({
285286
focused: -1,
286287
hovered: null,
287288
menuOpen: false,
288289
query: newQuery,
289290
selected: -1,
290291
validChoiceMade: true
291-
})
292+
}, this.props.onConfirm(selectedOption))
292293
this.forceUpdate()
293294
}
294295

0 commit comments

Comments
 (0)