From b029f9a38b5c1b9da67a56ad0db16bfd78080a0d Mon Sep 17 00:00:00 2001 From: Benjy Cui Date: Fri, 19 Aug 2016 15:18:52 +0800 Subject: [PATCH] fix: loadData should work with changeOnSelect --- examples/dynamic-options.js | 2 ++ src/Menus.jsx | 3 +++ 2 files changed, 5 insertions(+) diff --git a/examples/dynamic-options.js b/examples/dynamic-options.js index 5c7e5218..462eac99 100644 --- a/examples/dynamic-options.js +++ b/examples/dynamic-options.js @@ -22,6 +22,7 @@ const Demo = React.createClass({ }; }, onChange(value, selectedOptions) { + console.log(value, selectedOptions); this.setState({ inputValue: selectedOptions.map(o => o.label).join(', '), }); @@ -50,6 +51,7 @@ const Demo = React.createClass({ options={this.state.options} loadData={this.loadData} onChange={this.onChange} + changeOnSelect > diff --git a/src/Menus.jsx b/src/Menus.jsx index f376440d..86c0ea79 100644 --- a/src/Menus.jsx +++ b/src/Menus.jsx @@ -22,6 +22,9 @@ class Menus extends React.Component { activeValue[menuIndex] = targetOption.value; const activeOptions = this.getActiveOptions(activeValue); if (targetOption.isLeaf === false && !targetOption.children && this.props.loadData) { + if (this.props.changeOnSelect) { + this.props.onChange(activeOptions, { visible: true }); + } this.props.onSelect({ activeValue }); this.props.loadData(activeOptions); return;