gpt4 book ai didi

javascript - React.js 无法更改复选框状态

转载 作者:IT王子 更新时间:2023-10-29 03:14:43 25 4
gpt4 key购买 nike

我创建了这个简单的 TODO 列表,但当我想勾选复选框时却做不到。

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} />

关于javascript - React.js 无法更改复选框状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28478945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com