陣營訪問DOM節點比方說,我有一個包含登錄表單從this.props.children
<Card>
<LoginForm/>
</Card>
如何訪問節點從形式在卡中的渲染功能的卡?
<Form >
<input type="text" name="email"/>
<input type="password" name="password"/>
<input type="submit"/>
</Form>
因爲我想要做的就是呈現submitbutton不在props.children上下文中,但將它提交給給定孩子之外!
render() {
return (
<div className="card">
<div className="inner">
{/* render Children */}
{this.props.children != undefined ?
<div className="childrenWrapper">
{this.props.children}
</div>
: ""
}
</div>
{/* render submit from login form here, not above */
</div>)
其中有一些組件實際上做我想做的。例如react-toolbox中的Tabs組件。它們在某種程度上設法使標籤(兒童)之內有什麼別的地方
就比如
<Tabs index={this.state.inverseIndex} onChange={this.handleInverseTabChange} inverse>
<Tab label='First'><small>First Content</small></Tab>
<Tab label='Second'><small>Second Content</small></Tab>
<Tab label='Third'><small>Third Content</small></Tab>
<Tab label='Disabled' disabled><small>Disabled Content</small></Tab>
</Tabs>
你可以從標籤看孩子在他們自己的部分中提交 我不想在表單上更改任何內容來解決此問題,我想將表單傳遞給卡片並讓卡片決定如何在卡片呈現功能中呈現表格。
由於我試圖實施Google Material Design卡片component並將其用作模板,因此還有更多要素需要拆分並放置在我希望的位置。事情是我實際上可以在表單中放置相關的HTML來獲得它作爲我想要的卡片,但是我根本不需要該組件。
如何用flatButton設置一個變量,然後將它作爲道具傳遞給卡片組件?啊,我忘了:要訪問flatButton,我想你可以使用ref道具。 – dschu
@dschu工作出來,但事情是扁平按鈕本身是在形式之內,然後將呈現在兒童部分以及 – TeaTime
是的,你是對的。您將不得不將另一個prop傳遞給LoginForm組件,以告訴組件不呈現按鈕。在這種情況下,您應該考慮重組您的組件。 – dschu