fix: select-tree throw error when showSearch #2082

pull/2116/head
tangjinzhou 2020-04-18 13:53:46 +08:00
parent 4a0d35fb92
commit 3995f25484
1 changed files with 8 additions and 7 deletions

View File

@ -224,14 +224,14 @@ const Select = {
this.forcePopupAlign(); this.forcePopupAlign();
}); });
}, },
'$data._open'() { '$data._open'(open) {
this.$nextTick(() => { this.$nextTick(() => {
const { prefixCls } = this.$props; const { prefixCls } = this.$props;
const { _selectorValueList: selectorValueList, _valueEntities: valueEntities } = this.$data; const { _selectorValueList: selectorValueList, _valueEntities: valueEntities } = this.$data;
const isMultiple = this.isMultiple(); const isMultiple = this.isMultiple();
// Scroll to value position, only need sync on single mode // Scroll to value position, only need sync on single mode
if (!isMultiple && selectorValueList.length && this.popup) { if (!isMultiple && selectorValueList.length && open && this.popup) {
const { value } = selectorValueList[0]; const { value } = selectorValueList[0];
const { domTreeNodes } = this.popup.getTree(); const { domTreeNodes } = this.popup.getTree();
const { key } = valueEntities[value] || {}; const { key } = valueEntities[value] || {};
@ -823,15 +823,16 @@ const Select = {
onDropdownVisibleChange(open) { onDropdownVisibleChange(open) {
const { multiple, treeCheckable } = this.$props; const { multiple, treeCheckable } = this.$props;
const { _searchValue } = this; const { _searchValue } = this.$data;
// When set open success and single mode, // When set open success and single mode,
// we will reset the input content. // we will reset the input content.
if (open && !multiple && !treeCheckable && _searchValue) { if (open && !multiple && !treeCheckable && _searchValue) {
this.setUncontrolledState({ //
_searchValue: '', // this.setUncontrolledState({
_filteredTreeNodes: null, // _searchValue: '',
}); // _filteredTreeNodes: null,
// });
} }
this.setOpenState(open, true); this.setOpenState(open, true);
}, },