Html 我想要在TextArea中以相同格式输入的文本
我使用的是AntDesign的TextArea,比如说,当我在其中输入2-3个段落,然后按enter键将其显示为一行,但它在一个段落中显示所有内容。我想要输入文本区域时所做的精确格式。怎么做 我只是使用文本区域-Html 我想要在TextArea中以相同格式输入的文本,html,reactjs,antd,ant-design-pro,Html,Reactjs,Antd,Ant Design Pro,我使用的是AntDesign的TextArea,比如说,当我在其中输入2-3个段落,然后按enter键将其显示为一行,但它在一个段落中显示所有内容。我想要输入文本区域时所做的精确格式。怎么做 我只是使用文本区域- <TextArea rows={2} style={{ width: "100%" }} defaultValue={this.state.value} onClick={this.handleValue} /> 我从结果中
<TextArea
rows={2}
style={{ width: "100%" }}
defaultValue={this.state.value}
onClick={this.handleValue}
/>
我从结果中得到了什么
Hey, how are you doing today? I am fine. i hope your are fine do give me a call when you are free. contact - 1234567890
因此,我认为没有一种简单的方法可以做到这一点(即使这种方法并不难) 您需要做的是获取
文本区域的每一行,您应该能够通过以下方式获取:
var textArea = document.getElementById("my-text-area");
var arrayOfLines = textArea.value.split("\n");
来源:https://stackoverflow.com/questions/9196954/how-to-read-line-by-line-of-a-text-area-html-tag
一旦你有了arrayOfLines
,你就可以用一个for()
循环来输出文本了。所以我认为没有一个简单的方法可以做到这一点(即使这样做并不难)
您需要做的是获取文本区域的每一行,您应该能够通过以下方式获取:
var textArea = document.getElementById("my-text-area");
var arrayOfLines = textArea.value.split("\n");
来源:https://stackoverflow.com/questions/9196954/how-to-read-line-by-line-of-a-text-area-html-tag
一旦你有了arrayOfLines
,你就可以输出文本,就像用一个小小的for()
循环一样。在我看来,问题在于样式={{width:“100%”}
。尝试限制文本区域的宽度。例如:style={{width:“100px”}
在我看来,问题在于style={{width:“100%”}
。尝试限制文本区域的宽度。例如:style={{width:“100px”}
您可以使用pre
标记来显示输入的内容
我使用vanilla JS
创建了以下示例。您可以在react
中实现相同的功能
函数handleValue(){
var tarea=document.getElementById('tarea');
var disp=document.getElementById('display');
disp.innerHTML=''+tarea.value+'';
function App() {
const [text, setText] = React.useState("");
function handleChange(e) {
if (e.key === "Enter") {
setText(`${e.target.value}\n`);
}
setText(e.target.value);
}
return (
<div>
<TextArea
rows={4}
value={text}
onChange={handleChange}
onPressEnter={handleChange}
/>
{text.length > 0 && text.split("\n").map((l, i) => <p key={i}>{l}</p>)}
</div>
);
}
}
您可以使用pre
标记显示输入的内容
我使用vanilla JS
创建了以下示例。您可以在react
中实现相同的功能
函数handleValue(){
var tarea=document.getElementById('tarea');
var disp=document.getElementById('display');
disp.innerHTML=''+tarea.value+'';
function App() {
const [text, setText] = React.useState("");
function handleChange(e) {
if (e.key === "Enter") {
setText(`${e.target.value}\n`);
}
setText(e.target.value);
}
return (
<div>
<TextArea
rows={4}
value={text}
onChange={handleChange}
onPressEnter={handleChange}
/>
{text.length > 0 && text.split("\n").map((l, i) => <p key={i}>{l}</p>)}
</div>
);
}
}
下面提供了此任务的两个选项:
在按键“Enter”时,将换行符附加到该行。显示文本时,在换行符上拆分李>
);
}
下面提供了此任务的两个选项:
在按键“Enter”时,将换行符附加到该行。显示文本时,在换行符上拆分李>
);
}
正如AdityaSrivast所说,您可以使用pre标记。但是要包装文本,您应该在CSS下面添加
前{
溢出-x:自动;
空白:预包装;
空白:-moz预包装;
空白:-预包装;
空白:-o形预包装;
单词包装:打断单词;
}
否则,文本将显示为一行。正如AdityaSrivast所说,您可以使用pre标记。但是要包装文本,您应该在CSS下面添加
前{
溢出-x:自动;
空白:预包装;
空白:-moz预包装;
空白:-预包装;
空白:-o形预包装;
单词包装:打断单词;
}
否则,文本将显示为一行。这只是我正在使用的文本区域……我已在@Peterdo上面添加了该区域。您还需要关于此问题的帮助吗?请让我知道或将我的答案标记为已接受。谢谢。这只是我正在使用的文本区域……我在@Peterdo上面添加了这个区域。你需要更多的帮助来回答这个问题吗?请让我知道或将我的答案标记为已接受。谢谢你。不是阵列,我也必须改变后端。不是阵列,我也必须改变后端
function App() {
const [text, setText] = React.useState("");
function handleChange(e) {
setText(e.target.value);
}
return (
<div>
<TextArea
rows={4}
value={text}
onChange={handleChange}
onPressEnter={handleChange}
/>
<pre>{text}</pre>
</div>
);
}
<style>
pre {
overflow-x: auto;
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}
</style>