我是React和Javascript的新手。我想问一下如何创建一个文本框(而不是输入框),使我可以从某个输入打印文本?它有点像console.log,但不是输出到控制台,而是输出到一个文本框,就像下面图片中的方向框一样。输出将是从Spark服务器获取的JSON字符串
发布于 2019-12-03 20:04:03
您需要的是html中的一个空div,一旦您从Spark服务器收到所需的响应,就会使用javascript进行设置。
例如:
html: <div id="text-box"></div>
javascript: document.getElementById("text-box").innerHTML = "[INSERT SPARK RESPONSE HERE]"
发布于 2021-07-04 15:55:42
如果是在ReactJS中执行此操作,可以尝试构建一个函数组件,将类似控制台的消息呈现为jsx (文本包装在<p>
标记中),然后将该组件包装到<div>
容器中。然后你可以设置容器的样式,让它看起来像你的方向框。
//App.js
import "./styles.css";
function TextBoxContent() {
// JSON obj from https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON#arrays_as_json
const exampleJSON = [
{
name: "Molecule Man",
age: 29,
secretIdentity: "Dan Jukes",
powers: ["Radiation resistance", "Turning tiny", "Radiation blast"]
},
{
name: "Madame Uppercut",
age: 39,
secretIdentity: "Jane Wilson",
powers: [
"Million tonne punch",
"Damage resistance",
"Superhuman reflexes"
]
}
];
const parseJsonIntoConsoleStr = (item, index) => {
return (
<p key={index}>
{item.name}'s true identity is {item.secretIdentity}
</p>
);
};
return exampleJSON.map(parseJsonIntoConsoleStr);
}
export default function App() {
return (
<div className="App">
<h1>Textbox example</h1>
<div className="example-text-box">
<TextBoxContent />
</div>
</div>
);
}
设置样式:
// style.css
.App {
font-family: sans-serif;
text-align: center;
}
.example-text-box {
border: black 2px solid;
border-radius: 3px;
text-align: left;
padding-left: 10px;
}
https://stackoverflow.com/questions/59163290
复制