【发布时间】:2021-11-23 01:16:25
【问题描述】:
我有一个contectEditable div 和按钮,当我在 div 中选择这样的文本时想要 (CodeSandbox)
然后按下按钮,将选中的文本替换为一个span html 元素,并将选中的文本作为内容。例如,我有这个 React 组件
import {useState} from 'react';
const EdiatbelContent = () => {
const onClickhandler () => {};
const [html, setHtml] = useState("<p>Hello World!</p>");
return <>
<div contentEditable="true" dangerouslySetInnerHTML={{ __html: html }}></div>
<button onClick={onClickHandler}>Bold</button>
</>
}
export default EditableContent;
我想当我按下按钮时,替换选中的文本(如果有的话),说出上面例子中的单词Hello,用span html元素<span className="text-bold">Hello</span>,这样html状态变量就变成了
<p><span className="text-bold">Hello</span> World!</p>
我怎样才能做到这一点?
【问题讨论】:
标签: javascript reactjs