【发布时间】:2021-11-02 02:07:47
【问题描述】:
我有一个 contenteditable 的 div 并使用 useRef() 抓取 div,这是一个 reactjs 钩子。
当我尝试在 contenteditable div 中显示文本时,警报什么都不显示,但日志显示文本。
我有什么遗漏吗?
这只是我创建的一个 sn-p
export default function Input() {
const inputRef = useRef();
const showText = () => {
console.log("text: ", inputRef.current.innerText);
alert("text: ", inputRef.current.innerText);
}
return (
<>
<div ref={inputRef} contentEditable="true" supressContentEditableWarning={true} />
<button onClick={showText}>Show text</button>
</>
)
}
当我将它用作对象内部的值时,它也不起作用,例如。
const obj = {
text: inputRef.current.innerText
}
如果有人能帮助我了解这里发生了什么,我将不胜感激!
更新 只是不要使用警报来调试大声笑。
【问题讨论】:
-
如果将 inputRef.current.innerText 分配给一个变量,然后将其传递给 alert 和 console.log,怎么样?
-
innertext 是返回一个对象还是只返回一个字符串?
console.log(inputRef.current.innerText) -
codepen.io/audetcameron/pen/XWgjWYo 工作笔。您确定要在组件中导入 React 和 {useRef} 吗?
-
@Cameron 它返回一个字符串。另外,我也在导入它们。我只是没有把它们放在这里。我只包含了一个 sn-p。
-
我在上面链接了一支工作笔,有帮助吗? (看控制台)
标签: html reactjs react-hooks contenteditable innertext