reactjs - 单击reactjs中的addbtn时如何清除textarea的值?
问题描述
我使用了以下代码,但是单击 addbtn 时文本不清晰。这是一个 reactjs 项目。
function Addpage() {
const[note, setnote] = useState("");
function textchange(e) {
setnote(e.target.value);
console.log(note);
};
function savenote(){
localStorage.setItem('savednotes', note);
setnote("");
};
return (
<>
<Headersmall/>
<br/>
<div className="addcard">
<h1>Add new note.</h1>
<div className="title">
<input type="text" className="titlebox" id="addtitle" placeholder="Title"/>
</div>
<br/>
<div className="note">
<textarea type="text" className="notebox" id="addtxt" placeholder="Note" onChange = {textchange}/>
</div>
<br/>
<button className="addbtn" id='addbtn' onClick = {savenote}>Save</button>
</div>
<br/>
</>
)
}
解决方案
当您通过setnote("")
内部savenote()
函数将 note 的值设置为空字符串时,您正在更改 state 变量的值note
,但它不会反映在 textarea 中,因为您的 textarea 输入没有与之关联的值. 尝试添加value={note}
这意味着 textarea 和“note”状态变量之间将存在“设置和获取”关系
<textarea
value={note}
type="text"
className="notebox"
id="addtxt"
placeholder="Note"
onChange={textchange}
>
推荐阅读
- rest-assured - 如何提取没有“名称”的休息响应
- php - Laravel 合并指向一个表的两个关系的结果
- pdf - 智能卡数字签名 - 文档自签名以来已被更改或损坏
- python - 如何根据条件获取元组中的特定元素
- amazon-web-services - 无法从 Fargate 连接到 Snowflake
- algorithm - 查找出现在所有对中的两个整数
- mysql - 使用多个连接对大表进行 SQL 计数 - mysql 速度提示?
- angular - 在传单 on("click", function()) 操作后打开 Angular Material 对话框
- amazon-web-services - 获取 aws rds 快照的本地副本
- tfs - TFS (Azure DevOps) 通知 - 发送通知以开始发布部署