父组件存储所有状态。
函数myChangeHandler
触发任何onChange
并更改状态
myChangeHandler(事件){this.setState({[event.target.name]:event.target.value});
在改变单选按钮的值应该返回在"指南是"行这里是代码,让我知道如果我错过了什么
// Get a hook function
const {useState} = React;
class Parent extends React.Component {
constructor(props) {
super(props);
this.state = {
username: '',
avail:'available',
$avail:'non-available',
brandGuideline:'',
};
this.myChangeHandler = this.myChangeHandler.bind(this);
}
myChangeHandler(event) {
this.setState({
[event.target.name]: event.target.value
});
}render(){
return(
<div>
<Child username = {this.state.username}
myChangeHandler = {this.myChangeHandler}
/>
</div>
)
}
}
class Child extends React.Component {
render() {
return (
<div className="label">
<label>
username
</label>
<input
type='text'
name='username'
value={this.props.username}
onChange={this.props.myChangeHandler}
/>
<h1>My username: {this.props.username}</h1>
<div>
<label>
We have a Brand Guide
</label>
<input
type='radio'
name='brandGuideline'
value={this.props.$avail}
onChange={this.props.myChangeHandler}
/>Yes
<input
type='radio'
name='brandGuideline'
value={this.props.avail}
onChange={this.props.myChangeHandler}
/> No
</div>
<h1>Guide is: {this.props.brandGuideline}</h1>
</div>
);
}
};
ReactDOM.render(
<Parent />,
document.getElementById("react")
);
[event.target.name]: event.target.value
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id="react"></div>
您是否错过了从子级到父级获取传递的事件。
myChangeHandler(event){
......
}
您的问题与从父级到子级缺少道具数据有关。
喜欢写作:
value={this.state.i_am_not_exist_prop};
之前
{/* Parent Before */}
<Child username =
{this.state.username}
myChangeHandler = {this.myChangeHandler}
/>
发送avail
和$avail
作为道具。
应该是:
{/* Parent After step 1*/}
<Child
username = {this.state.username}
myChangeHandler = {this.myChangeHandler}
avail= {this.state.avail}
$avail = {this.state.$avail}
/>
父组件:
myChangeHandler(event) {
console.log([event.target.name]); /* brandGuideline */
this.setState({
[event.target.name]: event.target.value
})
};
此[event.target.name]
=“BrandGuidence”(使用console.log
)。同样,你需要把这个作为道具送给孩子。
将brandGuideline
作为道具传递:
{/* Parent After step 1 & 2 */}
<Child
username = {this.state.username}
myChangeHandler = {this.myChangeHandler}
avail= {this.state.avail}
$avail = {this.state.$avail}
brandGuideline = {this.state.brandGuideline}
/>
class Parent extends React.Component {
constructor(props) {
super(props);
this.state = {
username: '',
avail:'available',
$avail:'non-available',
brandGuideline:'',
};
this.myChangeHandler = this.myChangeHandler.bind(this);
}
myChangeHandler(event) {
this.setState({
[event.target.name]: event.target.value
});
}render(){
return(
<div>
<Child
username = {this.state.username}
myChangeHandler = {this.myChangeHandler}
avail= {this.state.avail}
$avail = {this.state.$avail}
brandGuideline = {this.state.brandGuideline}
/>
</div>
)
}
}
class Child extends React.Component {
render() {
return (
<div className="label">
<label>
username
</label>
<input
type='text'
name='username'
value={this.props.username}
onChange={this.props.myChangeHandler}
/>
<h1>My username: {this.props.username}</h1>
<div>
<label>
We have a Brand Guide
</label>
<input
type='radio'
name='brandGuideline'
value={this.props.$avail}
onChange={this.props.myChangeHandler}
/>Yes
<input
type='radio'
name='brandGuideline'
value={this.props.avail}
onChange={this.props.myChangeHandler}
/> No
</div>
<h1>Guide is: {this.props.brandGuideline}</h1>
</div>
);
}
};
ReactDOM.render(
<Parent />,
document.getElementById("react")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id="react"></div>
问题内容: 我搜索了在jtable中添加按钮的教程,并从http://tips4java.wordpress.com/2009/07/12/table-button- column/ 找到了一个类文件, 该按钮在哪里设置? 问题答案: 它是通过DefaultTableModel中的数据在表渲染器和编辑器中自动设置的。例如,对于表编辑器,代码为: 表模型的值在哪里。有关详细信息,请参见ButtonC
我有一个简单表单,有四个输入字段(联系人id,电话号码,姓名,称呼)。如果我输入'contact id'&按Enter按钮,字段的其余部分将自动填充,从DB检索。现在我想在表单中添加一个“Submit”按钮,这样就可以通过单击该按钮将这些信息保存到另一个DB表中。我已经尝试添加按钮,但自动填充功能不再起作用了。有人能帮忙吗?提前致谢:)下面是我的index.html文件:
我想在我的应用程序中放两个单选按钮(男性和女性)。 我是用单选按钮(不是组)来实现的,但问题是:一个按钮不能被取消选中,也可以同时检查两个按钮 RadioButton group是一组三个按钮,我只需要两个。有没有办法让他们成为两个人? 有什么帮助吗?
问题内容: 是否可以将 删除 按钮添加到表中的单元格? 我有一个包含5列的表格,我想添加一个第6列。我希望第六列的每一行都有一个删除按钮。 示例行: | 10002 | 部分 金属| 001 | 是的 | 这样,用户只需单击按钮即可删除所有不需要的行。 我在表中有一个标记列,它是。我创建了一个可扩展的类。 我是否需要扩展另一个类,但要创建一个按钮而不是? 编辑 编辑 问题答案: 这是示例工作版本。
问题内容: 我正在尝试提供一组可以重复或删除的输入。 我发现并使用了以下方法的组合:https : //jsfiddle.net/69z2wepo/36745/ 并且(因为上面的代码无法处理删除操作):https : //codepen.io/lichin-lin/pen/ MKMezg 我可能不需要指向一个特定的输入,因为在我的界面中,您应该始终只添加一个新的(如果之前的一个已填充)(我将在稍后
我接到一个需求就是类似一个创建一个考试试卷,每次点击按钮,添加一个新的组件,这个组件可以是选择题,也可以是是非题,我现在想要实现这个按钮,因为这个生成试卷的功能比较复杂,所以我想要每一步代码都非常精简,优雅,目前看到以下代码可以实现功能,已经算是比较简练的了,但是还是发上来,看看大佬门有没有更好的实现思路,让代码更优雅。