zoukankan      html  css  js  c++  java
  • react todelist

    1.点击按钮提交,新增对象

      buttonChange() {
        this.setState({
          //展开运算符...this.state.list,生成一个全新的数组
          // list:[...this.state.list,this.state.inputValue]
          //后面是新加入的数组,两个组成一个新的数组
          list:[...this.state.list,this.state.inputValue],
          inputValue:''
    
        })
      }
    

     2.删除

    buttonDelete(index) {
        const  list=[...this.state.list];
        //删除方法splice,两个参数,第一个是索引,第2个是删除几个
        list.splice(index,1);
        this.setState({
           list:list
        })
      }

    3.记得使用方法要绑定this,改变this 的作用域

      this.handleChange = this.handleChange.bind(this);
        this.buttonChange = this.buttonChange.bind(this);

    代码:

    import React, { Component } from 'react';
    
    
    class App extends Component {
      constructor(props) {
        super(props);
        this.state={
            inputValue:'hello world',
            list:[]
        }
        //改变this 的作用域
        this.handleChange = this.handleChange.bind(this);
        this.buttonChange = this.buttonChange.bind(this);
    
      }
      render() {
        return (
            <div>
                <div>
                  <input type="text"
                   value={this.state.inputValue}
                   onChange={this.handleChange}
                 />
                  <button  onClick={this.buttonChange}>提交</button>
                </div>
                <ul>
                   {
                      this.state.list.map((item,index)=>{
                          return (
                            <li
                              key={index}
                              onClick={this.buttonDelete.bind(this,index)}
                            >
                               {item}
                            </li>
                          )
                      })
                   }
                </ul>
            </div>
        );
      }
      handleChange(e) {
        this.setState({
          inputValue:e.target.value
        })
      }
      buttonChange() {
        this.setState({
          //展开运算符...this.state.list,生成一个全新的数组
          // list:[...this.state.list,this.state.inputValue]
          //后面是新加入的数组,两个组成一个新的数组
          list:[...this.state.list,this.state.inputValue],
          inputValue:''
    
        })
      }
      buttonDelete(index) {
        const  list=[...this.state.list];
        //删除方法splice,两个参数,第一个是索引,第2个是删除几个
        list.splice(index,1);
        this.setState({
           list:list
        })
      }
    }
    
    export default App;
    

      

     演示:

  • 相关阅读:
    CEPH篇 目录
    kubernetes篇 容器用户权限控制
    深度学习篇-如何理解置信区间
    Mac软件安装篇 for Mac
    JAVA进阶篇 内存模型
    负载均衡篇 不同层次的负载均衡(2/3/4/7)
    NETTY篇 一篇文章看懂NETTY
    base64加密后无法解密
    Spring-Cloud-Gateway 从升级到放弃
    spring gateway 截取response 长度缺失
  • 原文地址:https://www.cnblogs.com/guangzhou11/p/9796602.html
Copyright © 2011-2022 走看看