@@ -29,8 +29,8 @@ const NodePropertyParameterSelectComponent = (props: ParameterSelectProps) => {
2929 ) ;
3030 const [ inputValue , setInputValue ] = React . useState ( getInitialValue ( props . parameterDisplayValue , multiSelector ) ) ;
3131
32- const [ paramValueTemp , setParamValueTemp ] = React . useState ( null ) ;
33- const [ paramValueDisplayTemp , setParamValueDisplayTemp ] = React . useState ( null ) ;
32+ const [ paramValueTemp , setParamValueTemp ] = React . useState ( props . parameterValue ) ;
33+ const [ paramValueDisplayTemp , setParamValueDisplayTemp ] = React . useState ( props . parameterDisplayValue ) ;
3434
3535 const debouncedQueryCallback = useCallback ( debounce ( props . queryCallback , suggestionsUpdateTimeout ) , [ ] ) ;
3636 const label = props . settings && props . settings . entityType ? props . settings . entityType : '' ;
@@ -92,9 +92,11 @@ const NodePropertyParameterSelectComponent = (props: ParameterSelectProps) => {
9292 return ;
9393 }
9494 let newValue ;
95+ let valReference = setManual ? paramValueTemp : props . parameterValue ;
96+ let valDisplayReference = setManual ? paramValueDisplayTemp : props . parameterDisplayValue ;
9597 // Multiple and new entry
9698 if ( isMulti && inputValue . length < newDisplay . length ) {
97- newValue = Array . isArray ( props . parameterValue ) ? [ ...props . parameterValue ] : [ props . parameterValue ] ;
99+ newValue = Array . isArray ( valReference ) ? [ ...valReference ] : [ valReference ] ;
98100 const newDisplayValue = [ ...newDisplay ] . slice ( - 1 ) [ 0 ] ;
99101
100102 let val = extraRecords . filter ( ( r ) => r . _fields [ displayValueRowIndex ] . toString ( ) == newDisplayValue ) [ 0 ] . _fields [
@@ -108,9 +110,9 @@ const NodePropertyParameterSelectComponent = (props: ParameterSelectProps) => {
108110
109111 newValue = RenderSubValue ( newValue ) ;
110112 } else {
111- let ele = props . parameterDisplayValue . filter ( ( x ) => ! newDisplay . includes ( x ) ) [ 0 ] ;
112- newValue = [ ...props . parameterValue ] ;
113- newValue . splice ( props . parameterDisplayValue . indexOf ( ele ) , 1 ) ;
113+ let ele = valDisplayReference . filter ( ( x ) => ! newDisplay . includes ( x ) ) [ 0 ] ;
114+ newValue = [ ...valReference ] ;
115+ newValue . splice ( valDisplayReference . indexOf ( ele ) , 1 ) ;
114116 }
115117
116118 setInputDisplayText ( isMulti ? '' : newDisplay ) ;
0 commit comments