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语法简单实现表单提交增加、删除操作!

原文地址:https://www.cnblogs.com/zh-chen/p/9971754.html

时间: 2024-10-09 08:21:51

React---简单实现表单点击提交插入、删除操作的相关文章

SQL Server 2012设置某用户对某些表的记录限制其删除操作

第一步:用sa用户进入SSMS: 第二步:在安全性---用户上面点击右键---"属性": 第三步:在选择页中选择"安全对象",点击"搜索",弹出添加对象页面,这里默认为特定对象不用选择: 第四步:点击对象类型对话框,打开选择对象类型,选择"表": 第五步:对要进行加权限限制的表进行选择: 第六步:对所选择的表进行授权设置,点击完成即可.我这里主要是限制不可以删除,选择相应的表,勾选删除即可. SQL Server 2012设置

Python3.4 + Django1.7.7 搭建简单的表单并提交

后面还有一个问题,是我把txt生成了,但是网页没有返回我还不知道,现在怎么直接返回txt并且展示出来txt 的内容,希望大牛不吝赐教 首先有一个问题 django1.7之前,这样用: HttpResponse(simplejson.dumps({"status": '200', "message":u'登录成功'}), mimetype='application/json') 没问题,但是django1,7之后就报错了,查了下问题发现应该这样用: HttpRespo

简单顺序表的插入,删除,指定位置,指定元素的插入删除操作

头文件 SeqList.h #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #include<stdio.h> #include<string.h> #include<assert.h> #define MAX_SIZE 10 typedef int DataType; typedef unsigned int size_t; typedef struct SeqList { DataType array[MAX_SIZE]; s

input 表单点击消失离开出现

效果1: <input type="text" name="textfield" value="这里是提示内容" onclick="if(value==defaultValue){value='';this.style.color='#000'}" onBlur="if(!value){value=defaultValue;this.style.color='#999'}" /> 效果2: &l

红黑树、插入删除操作

二叉排序树 一棵自平衡的二叉排序树(二叉搜索树) 生成二叉排序树的过程是非常容易失衡的,最坏的情况就是一边倒(只有右/左子树),这样会导致二叉树的检索效率大大降低(O(n)). 为了维持二叉树的平衡,有各种的算法,如:AVL,SBT,伸展树,TREAP ,红黑树等等. 红黑树 红黑树需要满足5条性质: - 节点非红即黑 - 根节点是黑色 - 所有NULL结点称为叶子节点,且认为颜色为黑 - 所有红节点的子节点都为黑色,一条路径上不能出现相邻的两个红色结点 - 从任一节点到其叶子节点的所有路径上都

单链表的插入删除操作(c++实现)

下列代码实现的是单链表的按序插入.链表元素的删除.链表的输出 // mylink.h 代码 #ifndef MYLINK_H #define MYLINK_H #include<iostream> using namespace std; struct node { int data; node *next; }; class list { public: list() { head=NULL; }; void insert(int item); void del(int item); voi

Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交

在Java EE应用编程中Servlet是基础,JSP是建立在Servlet基础之上的,其他Web框架如Struts.WebWork和Spring MVC都是基于Servlet的.本文主要讲述MyEclipse和Tomcat配置Servlet的过程和简单实现表单提交功能. 希望对大家有所帮助,参考书籍<Java EE企业级应用开发实例教程>. Java+MyEclipse+Tomcat (一)配置过程及jsp网站开发入门 一. Servlet编程 1.Web基础知识 在讲述Servlet之前,

PHP简单利用token防止表单重复提交

<?php /* * PHP简单利用token防止表单重复提交 * 此处理方法纯粹是为了给初学者参考 */ session_start(); function set_token() { $_SESSION['token'] = md5(microtime(true)); } function valid_token() { $return = $_REQUEST['token'] === $_SESSION['token'] ? true : false; set_token(); retur

ASP.NET Razor简单的表单提交处理的代码

如下内容段是关于ASP.NET Razor简单的表单提交处理的内容. <!DOCTYPE html><html> <body> br/>@{if (IsPost){ string companyname = Request["CompanyName"]; string contactname = Request["ContactName"]; <p>You entered: <br> Company