私は初心者のバックエンド開発者で、機能の修正を任されており、反応部分で立ち往生しています。選択コンポーネントから値を取得するための適切な構文が見つからないようです。それが私の全体的な問題です。私は他の多くの投稿と反応ドキュメントを見てきましたが、私が試しているものは何も機能していません。マークアップの例は次のとおりです (このビューには多くの選択フィールドがあります)。
<div className="grid-content noscroll medium-6 small-12" style={{overflow: 'visible'}}>
<div className="grid-content"><label>Program</label></div>
<div className="grid-content" style={{overflow: 'visible'}}>
<Select
key="program_key"
ref="program_key"
multi={false}
value={ jobData && jobData.program_key ? jobData.program_key : null}
options={programOptions}
onChange={this.changeField.bind(null, 'program_key')}
/>
</div>
</div>
次に、イベント ハンドラーは次のようになります。
changeField: function(propName) {
var field = this.refs[propName].getDOMNode();
console.log(field.input);
console.log(field);
var nextProp = field.value.length > 0 ? field.value : null;
var job = Object.assign({}, this.state.job);
job.payload.data[propName] = nextProp;
if(propName === 'user_id') {
this.changeUserId = true
}
this.setState({
job: job,
updated: false
});
}
console.log(field) の結果は次のとおりです。
<div class="Select is-searchable has-value" data-reactid=".0.0.2.0.1.0.1.1.0.1.1.$program_key">
<input type="hidden" value="NHDS" data-reactid=".0.0.2.0.1.0.1.1.0.1.1.$program_key.0">
そこからは続きますが、'value="NHDS"' は私が必要としている部分であり、私の人生でそこにたどり着く方法がわかりません。この質問を明確にするか改善できるかどうか教えてください。前もって感謝します。