我创建了这个简单的待办事项列表,当我想勾选复选框时,我不能.

import React from 'react';

const TodoItem = React.createClass({

  render() {
    return (
      <div>

        <span>{this.props.todo}</span>
        <input type="checkbox" checked={this.props.done} />

      </div>
    );
  }

});

export default TodoItem;

家长:

import React from 'react';
import TodoItem from './TodoItem';
import AddTodo from './AddTodo';

const TodoList = React.createClass({

  getInitialState() {
    return {
      todos: [{
        todo: 'some text',
        done:false
      },{
        todo: 'some text2',
        done:false
      },
      {
        todo: 'some text3',
        done:true
      }]
    };
  },

   addTodo (childComponent) {
    var todoText = childComponent.refs.todoText.getDOMNode().value;
    var todo = {
      todo: todoText,
      done:false
    };
    var todos = this.state.todos.concat([todo]);
    this.setState({
      todos:todos
    });

    childComponent.refs.todoText.getDOMNode().value = '';
  },

  render() {

    var Todos = this.state.todos.map(function(todo) {
      return (
           <TodoItem todo={todo.todo} done={todo.done} />
        )
    });

    return (
      <div>
       {Todos}
       <AddTodo addTodo={this.addTodo}/>
      </div>

    );
  }

});

export default TodoList;

推荐答案

如果尚未在输入上指定onChange处理程序,React会将输入字段呈现为只读.

getInitialState() {
    return {
        done: false
    };
}

<input type="checkbox" checked={this.state.done || this.props.done } onChange={this.onChange} />

Reactjs相关问答推荐

通过React/Esri应用程序中的SON配置时,小部件不会添加层

如何等待我的插入内容提交后再继续执行指令?

从app.js导航,这是在BrowserRouter包装之外

REACTJS:在Reaction中根据路由路径更改加载器API URL

React,React Router,Joy UI:如何在导航离开和返回后禁用snackbar重新出现?

如何在NextJS中仅在刷新页面和页面淡出页面过渡时添加全屏加载器

用于获取带有事件处理程序的API的动态路由

无法在REACTION TANSTACK查询中传递参数

无法使用导入app/page.jsx的组件中的tailwind 类文本操作和自定义动画

使用experial_useFormState将参数传递给服务器操作

如何根据用户在react.js中的 Select , Select 多个心形图标?

计数器递增 2 而不是 1

如何让 useEffect 在 React.JS 中只运行一次?

下一个js如何从另一个组件更新组件?

在 Nextjs13 应用程序目录中呈现从 supabase 获取的数据

React Three Fiber mesh 标签在此浏览器中无法识别

AWS 全栈应用程序部署教程构建失败

Material UI:使用 mui 手风琴时出现props 类型失败:isValidElement 不是函数

添加 React/Redux 组件模板的 VS Code 扩展

仅在重新渲染后设置状态