美文网首页
react的数组新增,删除和条件判断

react的数组新增,删除和条件判断

作者: 水晶草720 | 来源:发表于2022-03-18 10:19 被阅读0次

1.输入框的值新增到数组列表

import React, { Component } from 'react'
import './css/01-index.css'
export default class app extends Component {
    a = 100;
    myref = React.createRef()
    state = {
      list:[{
          id: "1",
          mytext:"1111"
      }]
    };
  render() {
      var newList= this.state.list.map((item,index) => <li key={index}>{item.key}</li> )
    return (
        <div>
          <input ref={this.myref} /> 
            <button onClick={this.handleClick2}>add2</button>
            <ul>
                {
                    this.state.list.map((item,index)=>
                        <li key={item.id}> {item.mytext}
                        </li>
                    )
                }
            </ul>
          
      </div>
    )
    }
    handleClick2 = () => {
        // console.log("click2", this.myref.current.value)
        this.state.list.push({ "mytext": this.myref.current.value,id:Math.random()*111111})
      this.setState({list:this.state.list})
    }
   
}

2. 删除列表的某项值

   {/* 删除方案1 bind 方法*/}
    <input onClick={this.handleDelClick.bind(this, item.id)} type="button" value="del" /> 
  {/* 删除方案2 匿名箭头函数 */}
    <input onClick={()=>this.handleDelClick(index)} type="button" value="del" />

3. 条件判断无列表显示的相关内容

 {/* 条件渲染 方案1 */}
 <div> {this.state.list.length > 0 ? null : "待办事项暂无~"}</div>
 {/* 条件渲染 方案2 */}
 <div> {this.state.list.length === 0 && "待办事项暂无!"}</div>
  {/* 条件渲染 方案3 */}            
  <div className={this.state.list.length === 0?'':'hidden'}> 待办事项暂无!</div>

代码如下

import React, { Component } from 'react'
import './css/01-index.css'
export default class app extends Component {
    a = 100;
    myref = React.createRef()

    state = {
      list:[{
          id: "1",
          mytext:"1111"
      },{
        id: "2",
        mytext:"2222"
    },{
        id: "3",
        mytext:"3333"
    }]
    };
   
  render() {
      var newList= this.state.list.map((item,index) => <li key={index}>{item.key}</li> )
    return (
        <div>
          <input ref={this.myref} /> 
            <button onClick={this.handleClick2}>add2</button>
            <ul>
                {
                    this.state.list.map((item,index)=>
                        <li key={item.id}>
                            
                            {item.mytext}
                            {/* 删除方案1 bind 方法*/}
                            {/* <input onClick={this.handleDelClick.bind(this, item.id)} type="button" value="del" /> */}
                            {/* 删除方案2 匿名箭头函数 */}
                            <input onClick={()=>this.handleDelClick(index)} type="button" value="del" />
                        </li>
                    )
                }
            </ul>
            {/* 条件渲染 方案1 */}
            {/* <div> {this.state.list.length > 0 ? null : "待办事项暂无~"}</div> */}
            {/* 条件渲染 方案2 */}
            {/* <div> {this.state.list.length === 0 && "待办事项暂无!"}</div> */}
             {/* 条件渲染 方案3 */}            
            <div className={this.state.list.length === 0?'':'hidden'}> 待办事项暂无!</div>
      </div>
    )
    }
    handleClick2 = () => {
        // console.log("click2", this.myref.current.value)
        this.state.list.push({ "mytext": this.myref.current.value,id:Math.random()*111111})
      this.setState({list:this.state.list})
    }
    handleDelClick = (id) => {
        console.log("click2", id)
        let newlist = this.state.list.concat() //拷贝一个数组 slice(0)   [...arr]     Array.from(arr)  Object.assign([],arr);
        newlist.splice(id, 1)
        this.setState({list:newlist})
    }
}

相关文章

  • react的数组新增,删除和条件判断

    1.输入框的值新增到数组列表 2. 删除列表的某项值 3. 条件判断无列表显示的相关内容 代码如下

  • React_hooks

    React_hooks React16.8新增的特性,主要针对函数组件 一、函数组件和类组件的区别 函数组件的运行...

  • JS数组和字符串常用API

    数组 push: 在数组末尾新增数据 pop: 删除数组最后一条数据 unshift: 在数组开头新增数据 shi...

  • React 初识—— JSX 语法、组件用法

    JSX 语法 变量的定义及使用 条件判断 数组循环 组件用法 下面代码中依据 ES6 的方式定义组件;React ...

  • 整理集合

    中国风的react组件库 vue通过下标修改数组和新增对象属性 vue底层

  • shell 数组

    数组 定义,新增,修改,删除,遍历,取值,长度,连接

  • React Hook

    Hook 是能让你在函数组件中“钩入” React 特性的函数(hook是react16.8的新增特性,让函数组件...

  • 数组方法

    1.push:往数组后面新增数据 2.pop:删除数组最后的元素 3.unshift:往数组前面新增数据 4.sh...

  • HBase JavaAPI

    添加依赖 判断表是否存在 旧API 新API 创建表 删除表 新增和修改 查询数据 删除数据

  • kotlin-2、比较与数组

    值的比较 数组 条件判断

网友评论

      本文标题:react的数组新增,删除和条件判断

      本文链接:https://www.haomeiwen.com/subject/edxbdrtx.html