React-如何实现复选框?

用户名

我正在创建一个ToDo应用来自学React。

为我的任务实施复选框功能的最佳方法是什么?我对放置它以及使用状态的最佳位置感到困惑。

就我的代码而言,该复选框不会打开,因为它绑定到我的数据而不是状态。另外,我是否需要为复选框创建一个新的React类?感谢您的帮助。

var ToDoContainer = React.createClass({
    getInitialState: function(){
        return {
            name:"Michael",
            tasks:[
                {task:"Go to the gym", completed:false}, 
                {task:"Do yoga", completed:false},
                {task:"Buy groceries", completed:true},
                {task:"Get tire fixed", completed:false}
            ]
        }
    },
    addTask: function(task){
        this.setState({
            tasks:this.state.tasks.concat(task) 
        }); 
    },
    markComplete: function(task){
        console.log('markComplete');
        console.log(task);
    },
    render: function(){

        return (
            <div>
                <h3>Name: {this.state.name}</h3>
                <TaskList tasks={this.state.tasks} check={this.markComplete}/>
                <AddTask addNew={this.addTask} />
            </div>
        )
    }
});

var TaskList = React.createClass({
    handleCheck: function(e){
        console.log('check');
        this.props.check(e.target);
    },
    render: function(){
        var that = this;

        var task = this.props.tasks.map(function(task, index){
                return <li key={index} className={task.completed ? "complete" : "incomplete"} >
                            <input type="checkbox" checked={task.completed} onChange={that.handleCheck} />
                            {task.task}
                        </li>
        });

        return (
            <div>
                <ul>
                    {task}
                </ul>
            </div>
        )
    }
});

var AddTask = React.createClass({
    getInitialState: function(){
        return{
            newTask:""
        }
    },
    handleChange: function(e){
        this.setState({
            newTask:e.target.value
        });
    },
    handleSubmit: function(e){
        e.preventDefault();
        this.props.addNew({task:this.state.newTask, completed:false});
        this.setState({
            newTask:""
        });
    },
    render: function(){
        return (
            <div>
                <form onSubmit={this.handleSubmit}>
                    <input type="text" value={this.state.newTask} onChange={this.handleChange} />
                    <button disabled={this.state.newTask == ""}>Add Task</button>
                </form>
            </div>
        )
    }
});

ReactDOM.render(,document.getElementById('app'));

达瓦尔·帕特尔(Dhaval Patel)

首先,TaskList您可以直接使用道具等活动中的事件

 <input type="checkbox" checked={task.completed} onChange={that.props.check} value={task.task} />

和您的Markcomplete方法

markComplete: function(e){
    console.log('markComplete');
    var TempTask=this.state.tasks;
    for(int i=0;i<=TempTask.length;i++)
      {
          if(TempTask[i].task==e.target.value)
          {
              if((e.target).checked) 
               {
                 TempTask[i].completed=true;  
               }
              else
               {
                 TempTask[i].completed=false;
               }
          }
      }
    this.setState({this.state.tasks:TempTask});
},

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在React钩子中使用CheckAll复选框创建复选框?

来自分类Dev

REACT动态复选框

来自分类Dev

如何在React JS中获取复选框的值

来自分类Dev

如何计算React功能组件中的选定复选框?

来自分类Dev

如何使用react onchange动态处理复选框更改

来自分类Dev

如何在React上显示复选框的值

来自分类Dev

如何在React中控制多个复选框?

来自分类Dev

如何使用React中的复选框管理状态?

来自分类Dev

如何使用React Mozilla表单创建复选框数组?

来自分类Dev

如何在 React 中保留复选框值类型?

来自分类Dev

如何在 <Image> 上渲染复选框(React Native)

来自分类Dev

React中的受控复选框

来自分类Dev

标记复选框已完成 - React

来自分类Dev

java - 如何实现libGDX复选框

来自分类常见问题

如何在React中提交的表单上获取复选框数据

来自分类Dev

如何使用React-Native获取父ListView组件中子复选框组件的状态?

来自分类Dev

如果在React JS中选中了复选框,如何隐藏或显示div

来自分类Dev

如何在React中使用useState检查复选框的更改值

来自分类Dev

如何在react-data-grid中的行选择中禁用行的复选框

来自分类Dev

如何获取我的组件以计算React中复选框值的总和?

来自分类Dev

如何使用React Final Form Field Array格式化复选框Field的值?

来自分类Dev

React-Leaflet:如何收听LayersControl.Overlay复选框单击事件?

来自分类Dev

如何选择React.js中选择的默认复选框

来自分类Dev

如何在React的数据预览中显示复选框布尔值?

来自分类Dev

React Material-UI如何添加与表格行单击分开的复选框

来自分类Dev

如何在React Native中使用复选框检查FlatList中的单个项目?

来自分类Dev

如何在Ag-Grid React的列标题中添加全选复选框?

来自分类Dev

如何在其他数据之上显示数据,而不是与React复选框同时显示?

来自分类Dev

如何获取React.js中已选中复选框的数量?

Related 相关文章

  1. 1

    如何在React钩子中使用CheckAll复选框创建复选框?

  2. 2

    REACT动态复选框

  3. 3

    如何在React JS中获取复选框的值

  4. 4

    如何计算React功能组件中的选定复选框?

  5. 5

    如何使用react onchange动态处理复选框更改

  6. 6

    如何在React上显示复选框的值

  7. 7

    如何在React中控制多个复选框?

  8. 8

    如何使用React中的复选框管理状态?

  9. 9

    如何使用React Mozilla表单创建复选框数组?

  10. 10

    如何在 React 中保留复选框值类型?

  11. 11

    如何在 <Image> 上渲染复选框(React Native)

  12. 12

    React中的受控复选框

  13. 13

    标记复选框已完成 - React

  14. 14

    java - 如何实现libGDX复选框

  15. 15

    如何在React中提交的表单上获取复选框数据

  16. 16

    如何使用React-Native获取父ListView组件中子复选框组件的状态?

  17. 17

    如果在React JS中选中了复选框,如何隐藏或显示div

  18. 18

    如何在React中使用useState检查复选框的更改值

  19. 19

    如何在react-data-grid中的行选择中禁用行的复选框

  20. 20

    如何获取我的组件以计算React中复选框值的总和?

  21. 21

    如何使用React Final Form Field Array格式化复选框Field的值?

  22. 22

    React-Leaflet:如何收听LayersControl.Overlay复选框单击事件?

  23. 23

    如何选择React.js中选择的默认复选框

  24. 24

    如何在React的数据预览中显示复选框布尔值?

  25. 25

    React Material-UI如何添加与表格行单击分开的复选框

  26. 26

    如何在React Native中使用复选框检查FlatList中的单个项目?

  27. 27

    如何在Ag-Grid React的列标题中添加全选复选框?

  28. 28

    如何在其他数据之上显示数据,而不是与React复选框同时显示?

  29. 29

    如何获取React.js中已选中复选框的数量?

热门标签

归档