javascript - react js中突出显示文本的textarea组件
问题描述
我正在寻找一些好的实践示例来更改反应 js 中文本区域中的文本颜色
我看到了一些在 textarea 顶部添加 div 的示例,但是如何以反应的方式做到这一点
解决方案
要更改文本的颜色,我们需要添加 html 和 css。我们不能在 textarea 中添加它,因为 textarea 只包含文本,而不包含 html 元素。
因此,对于您的用例,您要做的是使用带有 contenteditable 的 div 而不是 textarea 来输入文本。像这样
<div contentEditable></div>
现在以反应方式做。我们需要存储将在 div 中呈现的状态。在某些操作(例如选择文本)时,您可以使用文本颜色样式插入包裹在 ap 标签周围的文本。
假设,让我们假设这条线,This is a sentence for demo
。当用户选择 on 时sentence
,我们可以用 p 包裹文本并像这样更新状态 - This is a <p style={{ color: 'red' }}>sentence</p> for demo
。
const [state, setState] = useState('');
render (
<div contentEditable>{state}</div>
);
推荐阅读
- javascript - 从 javascript 调用包中定义的 AlpineJS 函数
- javascript - 如何在 iOS 的标题上方放置 Pulll 刷新指示器?
- python - 如何在kivy中打印循环中的文本输入
- javascript - 带有十进制值的 Wordpress woocommerce 产品数量
- javascript - 客户端验证在 Asp.Net Core 中不起作用
- javascript - 当我不认为它是异步的代码时,它的行为就像它是异步的
- react-native - React Native - 键盘自动隐藏
- haproxy - 即使在浏览会话结束后,基于 Haproxy Cookie 的路由也始终重定向到同一个节点
- excel - 用于将零件从装配体(钣金)导出为 DXF 格式的宏
- json - 反序列化包含 $ref 的 Json