javascript - 将 React MUI 文本字段中的值拆分为字符串数组
问题描述
我目前正在使用 React 和 Material UI 为一个项目创建一个网页,该网页允许编辑者编辑书面脚本。如果这是一个基本问题,我提前道歉,因为我对 React 还很陌生。
该页面由一个文本字段组成,如下所示:[1]:https ://i.stack.imgur.com/v23Oi.png
我首先将查询中的段 (string[]) 组装到文本字段中,如下所示:
const scriptCompiledSegments = (() => {
let script = "";
_.forEach(segments, segment => {
script += segment;
});
return script;
})();
然后我按如下方式显示编译后的脚本:
<TextField
InputProps={{
classes: {
input: classes.input,
},
}}
id="script-field"
margin="normal"
multiline
rows={35}
variant="outlined"
defaultValue={scriptCompiledSegments}
onChange={(event) => {
setEditedScripts({ updatedSegments: (event.target.value) })
}}
/>
目前, event.target.value 以单个字符串返回脚本。我需要使用分隔符将文本字段中的脚本拆分回其原始段数组。我计划基于换行符进行拆分,但得到的反馈是我不应该使用它来拆分,而是使用“不可见”分隔符,因为段之间可能没有换行符。
项目限制如下:
- 我只能为每个段使用一个文本字段而不是单独的文本字段。
- 我不能通过换行符拆分,因为我应该假设组装的脚本在段之间可能没有换行符。
- 编辑者不应该能够编辑文本字段中的分隔符,也不能看到它。
我曾尝试在 scriptCompiledSegments 的不同段之间使用“&zwnj”,但它会在编辑器编辑脚本时呈现在文本字段中。有人可以提出解决方案吗?如果有必要,我愿意为专门的文本字段使用不同的库。
编辑:
我目前正在研究将片段包装在一个跨度中。看起来确实是在将片段以无缝脚本呈现时保持片段分离。如果有人可以分享他们关于如何使跨度可编辑的建议,那也很棒。
解决方案
推荐阅读
- html - 跨度显示文本的结尾,但隐藏开始
- java - Java - 无法处理 IOException;必须宣布被抓住或被扔掉
- react-native - 使用 HTTP/2 API 确定何时在 expo 上发送推送通知
- sql - 使用“>”约束从现有表创建新表
- node.js - Ionic 全局安装在节点模块中,但我收到:-bash: ionic: command not found
- ionic-framework - 从mac到windows的离子项目
- python - 向 skimage 中的图像帧添加高斯噪声
- html - 如何将单选按钮水平放置?
- matlab - 如何将向量中的每个元素乘以MATLAB中另一个向量的所有元素
- gradle - 如何使用 gradle 为分离的子项目依赖配置 IDEA