我一直试图制作一个"假的"文本区,以显示我的文本区的"内部"字符数,like this,但我想不出如何让它正确聚焦.
我的解决方案是创建一个带有文本区域样式的父div、一个没有样式的文本区域和一个字符计数器来创建一个假的文本区域:
<div> // textarea styling
<textarea />
<div style={{display: 'flex', justifyContent: 'flex-end'}}>{counter}/2000</div>
</div>
它看起来与上面的示例类似,但我在关注父div时遇到了问题.我需要在视觉上显示它在焦点上. 我使用了useRef挂钩来聚焦父div,但它不起作用.
const ref = useRef(null);
<div ref={ref}>
<textarea onClick={() => ref.current.focus()} />
//...
</div>
下面是一个https://codesandbox.io/p/sandbox/custom-textarea-ypl4rj的例子
甚至可以触发div的焦点状态吗?也许我用错了事件?