0
我傳遞價值的子組件字段值:道具不更新狀態
<Field key = {field.fieldName} fieldName = {field.fieldName} value = {field.value}
getModField={this._getModField.bind(this)} />
,並在現場應該通過道具進行更新:
constructor(props){
super(props);
this.state = {
value: this.props.value,
fieldName: this.props.fieldName
};
}
我應該顯示更新的值在另一個領域:
<div className = "form-group" key = {this.props.fieldName} >
<input className="col-sm-2 control-label" name={this.props.value}
defaultValue={this.state.value} onChange={this._handleChange.bind(this)}
ref={(input) => this._value = input} />
</div>
但在現場這條線的構造: value: this.props.value,
不更新value
。字段名的唯一的變化引發的value
變化我認爲這是某種聯繫key
道具。 這裏有什麼問題?
是的,它有助於更新狀態,但輸入字段中的'defaultValue = {this.state.value}'仍然爲空。當'fieldName'改變 – hasan
來更新一個你需要傳遞'initialValue'而不是'defaultValue'的輸入元素時,它只會得到更新值。它只會在fieldName被更改時更新,因爲您正在根據「fieldName」設置鍵,因此組件已更改。 – lavish
React出現錯誤:'Unknown prop initialValue'。 – hasan