【发布时间】:2018-09-09 02:14:04
【问题描述】:
我有一个这样的组件:
<Dialog id="_login" modal={true} onSubmit={() => console.log("x")} onCancel={() => console.log("C")} visible={true} >
<DialogHead>
Title Here
</DialogHead>
<DialogBody>
<Field id="username" label="User Name" onChange={(id, value) => { console.log(id, value) }} />
<Field id="password" label="Password" onChange={(id, value) => { console.log(id, value) }} />
</DialogBody>
<DialogFoot>
<button onClick={e => console.log(e)}>Close</button>
</DialogFoot>
</Dialog>
下面这个是<Dialog>渲染代码
public render() {
return <div className="hx-dialog-outer" onClick={this.onCancel.bind(this)}>
<div className="hx-dialog-inner" onClick={(e) => {e.stopPropagation()}}>
<form name={this.props.id}>
{this.props.children}
</form>
</div>
</div>
}
如何强制在父元素下添加子元素?我的意思是,<DialogHead>、<DialogBody> 和 <DialogFoot> 在 <Dialog> 容器之外不应该有效。比如下面这样使用,就会产生类似“ERROR: DialogHead must be nested in Dialog Component”的错误
<div>
<DialogHead>
Title Here
</DialogHead>
</div>
【问题讨论】:
标签: reactjs