react-todoList

Posted cazj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react-todoList相关的知识,希望对你有一定的参考价值。

import React from ‘react‘

class TodeList extends React.Component 
    constructor(props) 
        super(props)
        this.state = 
            hasDoneList: [‘看书‘, ‘跑步‘, ‘仰卧起坐‘, ‘俯卧撑‘], // 已经做了的
            noDoneList: [‘node‘, ‘python‘, ‘angular‘, ‘react-native‘], // 还没开始的
            value: ‘‘ // 输入框的值
        
    

    successThing = (index, event) =>   // 当传递参数时,要带上this,之后的参数默认排在前面,event对象在后面
        var temp = this.state.noDoneList
        var addDone = this.state.hasDoneList
        addDone.push(temp[index])
        temp.splice(index, 1)
        this.setState(
            noDoneList: temp,
            hasDoneList: addDone
        )
    
    failThing = (index, event) => 
        var temp = this.state.noDoneList
        var addDone = this.state.hasDoneList
        temp.push(addDone[index])
        addDone.splice(index, 1)
        this.setState(
            noDoneList: temp,
            hasDoneList: addDone
        )
    
    getInputValue = (event) => 
        this.setState(
            value: event.target.value
        )
    
    saveData = () => 
        if (!this.state.value) 
            alert(‘请先输入值‘)
         else 
            var temp = this.state.noDoneList
            temp.push(this.state.value)
            this.setState(
                noDoneList: temp,
                value: ‘‘
            )
        

    
    deleteList = (index) => 
        var temp = this.state.noDoneList
        temp.splice(index, 1)
        this.setState(
            noDoneList: temp
        )
    
    deleteListDone = (index) => 
        var temp = this.state.hasDoneList
        temp.splice(index, 1)
        this.setState(
            hasDoneList: temp
        )
    

    render() 
        return (
            <div>
                <h3>新增代办事项</h3>
                <input type="text" value=this.state.value placeholder=‘新增事项‘ onChange=this.getInputValue/>
                <button onClick=this.saveData>确定</button>
                <h3>计划但是未完成的</h3>
                
                    this.state.noDoneList.map((value, index) => 
                        return (
                            <div key=index>
                                /*输入框需有一个key,不然会留有缓存影响其他输入框*/
                                <input type="checkbox" key=value onChange=this.successThing.bind(this, index)/>
                                <span>value</span>
                                <span onClick=this.deleteList.bind(this, index)>X</span>
                            </div>
                        )
                    )
                
                <h3>已经完成了的</h3>
                
                    this.state.hasDoneList.map((value, index, array) => 
                        return (
                            <div key=index>
                                <input checked=true key=index type="checkbox"
                                       onChange=this.failThing.bind(this, index)/> <span>value</span>
                                <span onClick=this.deleteListDone.bind(this, index)>X</span>
                            </div>
                        )
                    )
                
            </div>
        )
    


export default TodeList

 

以上是关于react-todoList的主要内容,如果未能解决你的问题,请参考以下文章