Skip to content

Commit

Permalink
Merge pull request #78 from acgotaku/fix/slider
Browse files Browse the repository at this point in the history
fix: slider blur sync data
  • Loading branch information
acgotaku committed May 4, 2023
2 parents e9c16a4 + 1bc35a4 commit 5f65fd8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
20 changes: 12 additions & 8 deletions src/components/Slider/RangeSlider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -76,24 +76,28 @@ const RangeSlider: React.FC<IRangeSliderProps> = ({
);
const checkInputStartValue = useCallback(() => {
if (validInputStartValue) {
setRangeValue({
const newRangeValue = {
start: Number(inputStartValue),
end: rangeValue.end
});
};
setRangeValue(newRangeValue);
onChange?.(newRangeValue);
} else {
setInputStartValue(rangeValue.start);
}
}, [inputStartValue, validInputStartValue, rangeValue]);
}, [inputStartValue, validInputStartValue, rangeValue, onChange]);
const checkInputEndValue = useCallback(() => {
if (validInputEndValue) {
setRangeValue({
const newRangeValue = {
start: rangeValue.start,
end: Number(inputEndValue)
});
};
setRangeValue(newRangeValue);
onChange?.(newRangeValue);
} else {
setInputEndValue(rangeValue.end);
}
}, [inputEndValue, validInputEndValue, rangeValue]);
}, [inputEndValue, validInputEndValue, rangeValue, onChange]);

const blurInputStartHandler = useCallback(() => {
checkInputStartValue();
Expand Down Expand Up @@ -143,7 +147,7 @@ const RangeSlider: React.FC<IRangeSliderProps> = ({
};
setRangeValue(newRangeValue);
setInputStartValue(value);
onChange && onChange(newRangeValue);
onChange?.(newRangeValue);
}
},
[rangeValue, onChange]
Expand All @@ -159,7 +163,7 @@ const RangeSlider: React.FC<IRangeSliderProps> = ({
};
setRangeValue(newRangeValue);
setInputEndValue(value);
onChange && onChange(newRangeValue);
onChange?.(newRangeValue);
}
},
[rangeValue, onChange]
Expand Down
6 changes: 4 additions & 2 deletions src/components/Slider/Slider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,13 @@ const Slider: React.FC<ISliderProps> = ({
);
const checkInputValue = useCallback(() => {
if (validInputValue) {
setRangeValue(Number(inputValue));
const value = Number(inputValue);
setRangeValue(value);
onChange?.(value);
} else {
setInputValue(rangeValue);
}
}, [inputValue, validInputValue, rangeValue]);
}, [inputValue, validInputValue, rangeValue, onChange]);
const blurInputHandler = useCallback(() => {
checkInputValue();
}, [checkInputValue]);
Expand Down

0 comments on commit 5f65fd8

Please sign in to comment.