select
タグをhtmlに使用するためにプレーンHTMLを使用していました。今、私はreact-bootstrap
でHTML部分を置き換えようとしています。私はreact-bootstrap
タグ以外のすべてのものが似ていますが、<ButtonGroup>
がreact-bootstrap
で、代わりに平方HTMLのselect
タグが使用されているときはいつも未定義です。
これが機能している:反応ブートストラップの<ButtonGroup>を使用している間、イベントは「未定義」として渡されます
<select onChange={this.groupBySelector}>
<option value="invoice">GROUP BY INVOICE</option>
<option value="customer">GROUP BY CUSTOMER</option>
<option value="month">GROUP BY MONTH</option>
</select>
これは動作していない次のよう
<ButtonGroup>
<DropdownButton title="GROUP BY" id="bg-nested-dropdown" onSelect={this.groupBySelector}>
<MenuItem value="invoice">GROUP BY INVOICE</MenuItem>
<MenuItem value="customer">GROUP BY CUSTOMER</MenuItem>
<MenuItem value="month">GROUP BY MONTH</MenuItem>
</DropdownButton>
</ButtonGroup>
groupBySelector
機能は次のとおりです。
groupBySelector(event){
console.log(event);
if ((event.target.value)==="invoice"){
this.setState({invoiceType:'invoice'})
} else if ((event.target.value)==="customer") {
this.setState({invoiceType:'customer'})
} else if ((event.target.value)==="month") {
this.setState({invoiceType:'month'})
} else {
this.setState({invoiceType:'invoice'})
}
}
をMenuItemにするためのeventKeyを追加してみ – noobie
@noobie更新します。また、パフォーマンス上の問題により、この場合は矢印機能を使用しないことをお勧めします。コンポーネントをレンダリングするたびに、 'onSelect'イベントハンドラは新しいインスタンスを取得します:) – mersocarlin
[this](https://react-bootstrap.github.io/components.html)リンクに従っていますか? – noobie