React---简单实现表单点击提交插入、删除操作
2024-08-22 08:18:11
import React,{Component,Fragment} from 'react' class App extends Component {
constructor(){
super() // 要想使用this必须使用super
this.state = {
postList:[
'item1',
'item2',
'item3'
],
inputValue:"test"
}
}
render(){
// jsx语法
return (
<Fragment>
<ul>
{
this.state.postList.map((value,index)=>{
return (
<li key={index}>{ value }
<button onClick={this.delete.bind(this,index)}>删除</button>
</li>
)
})
}
</ul>
<div> {this.state.inputValue} </div>
<div>
<textarea
value={ this.state.inputValue }
onChange={ this.handleInput.bind(this) }
name="" id="">
</textarea> <br/>
<button onClick={ this.submit.bind(this) }>发布</button>
</div>
</Fragment>
)
}
submit(){
console.log(0)
this.setState({
// postList:this.state.postList.push(e.target.value) 错误的,改变了postList原来的值,且要用this.setState设置postList
postList:[...this.state.postList,this.state.inputValue],
inputValue:""
})
}
handleInput(e){
// this.state.inputValue = e.target.value 错误的,不能直接赋值
// 需要bind(this)改变this指向,让this指向这个实例
this.setState({
inputValue:e.target.value,
})
}
delete(index){
// 删除操作需要保留一个副本,在副本上进行操作,该postList是局部的postList,不影响全局的postList
let postList = [...this.state.postList]
postList.splice(index,1)
// 数组删除操作用splice
this.setState({
postList,
})
}
} export default App
这样,就可以通过react语法简单实现表单提交增加、删除操作!
最新文章
- 解决Android界面布局添加EditText组件后界面无法预览
- Asp.net Identity 2.0 作弊条
- PHP 运行方式(PHP SAPI介绍)
- 替代jquery
- 仿QQ注册验证码的实现。
- Spark Streaming揭秘 Day4-事务一致性(Exactly one)
- windows7怎么共享文件夹
- SQL Sever MYSQL 视图实现的 2 种方式
- Oracle EBS-SQL (PO-11):检查采购订单退货数.sql
- Windows下如何硬盘安装Ubuntu
- JVM内存异常与常用内存参数设置总结
- win 10 slmgr.vbs -xpr 无法运行,被豆麦笔记打开解决方法
- 第二十九节:Java基础知识-类,多态,Object,数组和字符串
- iis 站点中文乱码 解决方案
- Java线程池停止空闲线程是否有规则呢?
- C++并发编成 03 线程同步
- java中对JVM的深度解析、调优工具、垃圾回收
- 开始试用Dynamics 365
- k最近邻算法(kNN)
- Ubuntu 分区方案参考