的響應「意見」教程有用戶輸入駕駛越來越多的一個很好的例子:https://facebook.github.io/react/docs/tutorial.html。你想看看CommentList類。
要將數據驅動表單字段列表中,你可以做這樣的事情:
getInitialState() {
return {
formFields: [{key: "one", value: "first"}, {key: "two", value: "second"}]
}
},
getOnChange(key) {
let handler =() => {
let newValue = this.refs[key].getValue()
let newState = {}
newState[key] = newValue
this.setState(newState)
}
return handler
},
render() {
return (
<Paper>
{this.state.formFields.map((item, index) => {
return (<TextField ref={item.key} key={item.key} defaultValue={item.value} onChange={this.getOnChange(item.key)}/>)
})}
</Paper>
)
}
我用了一個封閉的的onChange證明變異,但也有其他的方法來做到這一點。
嗨拉里,我想要做的是略有不同,因爲我想在窗體上生成多個輸入。我懷疑當涉及到將數據發佈到服務器時,我會實現類似於該教程的東西(所以感謝我指出了這一點),但是可以指向一些能夠幫助我生成可以添加動態投入量?因爲我正在重構flux函數,所以我可以用它作爲基礎,但它使用bootstrap而不是material-ui,代碼有點混亂! – BeeNag
OIC。我用一種方式更新了我的答案。關鍵是使用Array.map()函數。 –
@BeeNag,這有幫助嗎?如果是這樣,你能接受答案嗎? –