• todolist

    todolist.gif

    1. import React, { Component } from 'react'
    2. import Taro, { getCurrentInstance } from '@tarojs/taro'
    3. import { View, Text, Input, Checkbox, } from '@tarojs/components'
    4. import './me.less'
    5. export default class Me extends Component {
    6. state = {
    7. list:[],
    8. todoList:[],
    9. didList:[],
    10. inputValue: null
    11. }
    12. $instance = getCurrentInstance()
    13. handleConfirm = (e) => {
    14. let { list } = this.state
    15. console.log(e.detail.value)
    16. let newList = [...list, { value: e.detail.value, checked: false }]
    17. this.setState({
    18. list: newList,
    19. todoList:newList.filter(item=>!item.checked),
    20. inputValue: ''
    21. })
    22. }
    23. handleCheck = (item) =>{
    24. let { list,didList } = this.state
    25. list.forEach(val=>{
    26. if(val.value === item.value){
    27. val.checked = true
    28. }
    29. })
    30. didList.push(item)
    31. this.setState({
    32. todoList:list.filter(item=>!item.checked),
    33. didList
    34. })
    35. }
    36. handleUnCheck = (item) =>{
    37. let { list,todoList} = this.state
    38. list.forEach(val=>{
    39. if(val.value === item.value){
    40. val.checked = false
    41. }
    42. })
    43. todoList.push(item)
    44. this.setState({
    45. todoList,
    46. didList: list.filter(item=>item.checked)
    47. })
    48. }
    49. render() {
    50. console.log(this.$instance.router.params)
    51. let { todoList, didList, inputValue } = this.state
    52. return (
    53. <View className='me'>
    54. <Input placeholder='请输入' value={inputValue} onConfirm={this.handleConfirm}></Input>
    55. <View>待办</View>
    56. {todoList.map(item => (
    57. <View key={item.value}><Checkbox onClick={this.handleCheck.bind(this,item)} value='选中' checked={item.checked}>{item.value}</Checkbox></View>
    58. ))}
    59. <View>已完成</View>
    60. {didList.map(item => (
    61. <View key={item.value}><Checkbox onClick={this.handleUnCheck.bind(this,item)} value='选中' checked={item.checked}>{item.value}</Checkbox></View>
    62. ))}
    63. </View>
    64. )
    65. }
    66. }