首页 > 解决方案 > 值更改时如何防止向下滚动受控文本区域

问题描述

我有一个很长的文本区域,有 100-200 行。它们对应redux state phrases = [{id, text, ...}],textarea的每一行都是一个phrase[id].text。

<textarea value={_.map(phrases, 'text').join('\n')}></textarea>

当我更改 textarea 时,它会调度 redux state 的更改phrases

当我从第一行更改一个字母时,页面滚动到结尾,光标转到第 200 行。但我希望页面的光标和滚动位置不会改变。

我尝试使用 event.target.selectionStart,selectionEnd,但即使光标返回其位置,页面滚动到屏幕结束。

如何解决?

例如图像

标签: javascripthtmlreactjsreact-reduxcontrolled-component

解决方案


推荐阅读