React---简单实现表单点击提交插入删除操作

Posted zh-chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React---简单实现表单点击提交插入删除操作相关的知识,希望对你有一定的参考价值。

 1 import React,{Component,Fragment} from ‘react‘
 2 
 3 class App extends Component {
 4   constructor(){
 5     super()  // 要想使用this必须使用super
 6     this.state = {
 7       postList:[
 8         ‘item1‘,
 9         ‘item2‘,
10         ‘item3‘
11       ],
12       inputValue:"test"
13     }
14   }
15   render(){
16     // jsx语法
17      return (
18        <Fragment>
19           <ul> 
20             {
21                this.state.postList.map((value,index)=>{
22                  return (
23                     <li key={index}>{ value }
24                         <button onClick={this.delete.bind(this,index)}>删除</button>
25                     </li>
26                   )
27                })
28             }
29           </ul>
30           <div> {this.state.inputValue} </div>
31           <div>
32             <textarea 
33               value={ this.state.inputValue }
34               onChange={ this.handleInput.bind(this) } 
35               name="" id="">
36             </textarea> <br/>
37             <button onClick={ this.submit.bind(this) }>发布</button>
38           </div>
39       </Fragment>
40     )
41   }
42   submit(){
43     console.log(0)
44     this.setState({
45     // postList:this.state.postList.push(e.target.value) 错误的,改变了postList原来的值,且要用this.setState设置postList
46       postList:[...this.state.postList,this.state.inputValue],
47       inputValue:""
48     })
49   }
50   handleInput(e){
51     // this.state.inputValue = e.target.value   错误的,不能直接赋值
52     // 需要bind(this)改变this指向,让this指向这个实例
53     this.setState({
54       inputValue:e.target.value,
55     })
56   }
57   delete(index){
58     // 删除操作需要保留一个副本,在副本上进行操作,该postList是局部的postList,不影响全局的postList
59     let postList = [...this.state.postList]
60     postList.splice(index,1)  
61     // 数组删除操作用splice
62     this.setState({
63       postList,
64     })
65   }
66 } 
67 
68 export default App

这样,就可以通过react语法简单实现表单提交增加、删除操作!

以上是关于React---简单实现表单点击提交插入删除操作的主要内容,如果未能解决你的问题,请参考以下文章

第一个表单提交插入行后续提交更新同一行

token防止前端重复提交

react + es6 +ant design 实现一个简单demo表格添加删除

HTML 表单提交 的简单代码

Jquery 实现表单提交按钮变灰,防止多次点击提交重复数据

关于antd如何在表单外点击触发表单验证的问题