mirror of https://github.com/langgenius/dify.git
feat: optimize the page jump logic to prevent unnecessary jumps. (#26481)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
This commit is contained in:
parent
e56c847210
commit
31e6ef77a6
|
|
@ -57,7 +57,34 @@ const CustomizedPagination: FC<Props> = ({
|
||||||
if (isNaN(Number.parseInt(value)))
|
if (isNaN(Number.parseInt(value)))
|
||||||
return setInputValue('')
|
return setInputValue('')
|
||||||
setInputValue(Number.parseInt(value))
|
setInputValue(Number.parseInt(value))
|
||||||
handlePaging(value)
|
}
|
||||||
|
|
||||||
|
const handleInputConfirm = () => {
|
||||||
|
if (inputValue !== '' && String(inputValue) !== String(current + 1)) {
|
||||||
|
handlePaging(String(inputValue))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inputValue === '')
|
||||||
|
setInputValue(current + 1)
|
||||||
|
|
||||||
|
setShowInput(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
|
||||||
|
if (e.key === 'Enter') {
|
||||||
|
e.preventDefault()
|
||||||
|
handleInputConfirm()
|
||||||
|
}
|
||||||
|
else if (e.key === 'Escape') {
|
||||||
|
e.preventDefault()
|
||||||
|
setInputValue(current + 1)
|
||||||
|
setShowInput(false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleInputBlur = () => {
|
||||||
|
handleInputConfirm()
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
@ -105,7 +132,8 @@ const CustomizedPagination: FC<Props> = ({
|
||||||
autoFocus
|
autoFocus
|
||||||
value={inputValue}
|
value={inputValue}
|
||||||
onChange={handleInputChange}
|
onChange={handleInputChange}
|
||||||
onBlur={() => setShowInput(false)}
|
onKeyDown={handleInputKeyDown}
|
||||||
|
onBlur={handleInputBlur}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<Pagination.NextButton
|
<Pagination.NextButton
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue