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;
    

      

     演示:

  • 相关阅读:
    10个最佳jQuery Lightbox效果插件收集
    JavaScript 中的内存泄露模式
    推荐6 款免费的图标编辑器
    Google 排名中的 10 个最著名的 JavaScript 库
    影响搜索引擎排名的因素2009年(总览)
    2009 年度最佳 jQuery 插件
    使用 Nginx 提升网站访问速度
    10个新的最有前途的JavaScript框架
    IE8面向Web开发人员的功能改进
    IE6, IE7, IE8 CSS 兼容速查表
  • 原文地址:https://www.cnblogs.com/guangzhou11/p/9796602.html
Copyright © 2011-2022 走看看