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;

  

 演示:

优质内容筛选与推荐>>
1、Idea中创建maven骨架的命令
2、WebUI Studio for ASP.NET发布2013版本 全面支持HTML5和CSS3
3、不使用编译器自动生成的拷贝构造函数和赋值运算符的方法
4、wpf中的进度条
5、实现 权限树 list2Tree


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn