在草稿js中插入字符时如何向右滚动?

How can I scroll right when inserting a character in draft js?

使用 draft-js 和样式化组件,我制作了一个用于计算器的内联输入。当我用键盘输入时,它按预期工作:

当我按下加号按钮时,文本中添加了一个“+”,但视图不滚动:

下面是行为和 codesandbox 中的代码: https://codesandbox.io/s/charming-brattain-mvkj3?from-embed=&file=/src/index.js

当像这样以编程方式添加文本时,如何让视图滚动?

我终于想出了一个解决办法。我将其添加到计算器输入组件中:

const shell = React.useRef(null);
const [scrollToggle, setScrollToggle] = React.useState(
  { value: false }
);

React.useEffect(() => {
  const scrollMax = shell.current.scrollWidth - shell.current.clientWidth;
  shell.current.scrollLeft += scrollMax;
}, [scrollToggle]);

const scrollToEnd = () => {
  setScrollToggle({ value: !scrollToggle.value });
};

然后在 insertChars 函数的末尾我添加了 scrollToEnd();

然后我在 <InputShell>

上设置了 ref={shell}