event.target.valueへアクセスしたい
HTMLの<select>を使う以下のコードで成立しています。
しかし、コンポーネントへevent.target.value
を渡す時はこれでは成立しません。
renderSelect(State:number){ if(State===1){ return( <select onChange={(e) => this.setState({ set_num: parseInt(e.target.value) }) } defaultValue="" > {this.state.prefecture_arry?.map((d) => ( <option value={d.value}>{d.label}</option> )) || ""} </select> ) }
オプションに入力しているものは以下のような形です。
[{value: 0 , label : "札幌"}, {value : 1, label :"江別"} ];
失敗している例
import Select from "@material-ui/core/Select"; renderInputPoint(State:number){ if(State >= 1){ return ( <tr> <td>観測点</td> <td> <Select onChange={(e) => this.setState({ set_num: parseInt(e.target.value) }) //型 'unknown' の引数を型 'string' のパラメーターに割り当てることはできません。ts(2345) } defaultValue="" > {this.state.prefecture_arry?.map((d) => ( <option value={d.value}>{d.label}</option> )) || ""} </Select> </td> </tr> ) }else{ return <tr></tr> } }
コードに入れたエラーコードの通り、
型 'unknown' の引数を型 'string' のパラメーターに割り当てることはできません。ts(2345)
というものが出てきてしまいます。
求める回答
とにかく、eventの情報をコンポーネントに渡して、表示部を変えたい。
onChangeでstateの情報を変更したいということです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/21 01:54