質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Material-UI

Material-UIは、Material Designを利用可能なオープンソースのReact向けUIコンポーネントキットです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

1557閲覧

Reactの検索フォームに関して

miyu_

総合スコア70

Material-UI

Material-UIは、Material Designを利用可能なオープンソースのReact向けUIコンポーネントキットです。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2022/03/03 09:59

yahoo(https://www.yahoo.co.jp/)
上記のような検索フォームのクリックとボタンのクリックの両方に対応するものを作成したいのですが、①のonClickにはeventが入ってきますが、Buttonの方にはeventは入ってこないと思います。
そこで、この問題に対してのベストソリューションを教えていただけませんでしょうか。
お力添えいただけますと幸いです。
何卒、よろしくお願い致します。

<TextField id="outlined-basic" label="Outlined" variant="outlined" onClick={(e) => searchAPI(e.target.value) /> <------- onClick① <Button variant="outlined" onClick={(e) => searchAPI(e.target.value) /> <------- onClick② > Outlined </Button>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

そこまでReactは詳しくはないのですが、React Hook Formなるものを利用してみました。
フォームとして入力値の監視やボタンでの押下にしてデータを受け取ることが出来つつ、TextFieldのクリック時にも別口として受け取ることができるという両面で良いかもしれません。(※もちろん要件によりますが)

App.js

1import { useForm } from 'react-hook-form' 2import TextField from '@mui/material/TextField' 3import { Button } from '@mui/material' 4 5function App() { 6 const { register, handleSubmit, watch } = useForm() 7 const onSubmit = (data) => console.log(data) 8 9 console.log(watch('data')) 10 11 const textFieldClicked = (value) => { 12 console.log(`TextField is clicked. (value => ${value})`) 13 } 14 15 return ( 16 <form onSubmit={handleSubmit(onSubmit)}> 17 <TextField 18 id='outlined-basic' 19 label='Outlined' 20 variant='outlined' 21 {...register('data')} 22 onClick={(e) => textFieldClicked(e.target.value)}></TextField> 23 24 <Button variant='outlined' type='submit'> 25 送信 26 </Button> 27 </form> 28 ) 29}

投稿2022/03/03 15:34

daichi_mizuno

総合スコア47

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyu_

2022/03/05 03:55

ご回答いただきありがとうございます! 記載漏れがあり申し訳ございませんが、 Textfieldに削除ボタンをつけるにあたって、react hook formのresetで実現できるかを調査してみます!
miyu_

2022/03/08 03:28

resetによるフォームの削除も実現できるようでした。 こちらの方法が最適だと判断させて頂きました。 daichi_mizuno様お力添えいただきありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問