2017-12-11 3 views
0

admin-on-restで、入力中(つまり検証前)にonChangeハンドラを使用してTextInputの値を変更するにはどうすればよいですか?検証前にAdmin-on-RestのTextInput値を変更しましたか?

const handleChange = (e, newValue) => { 
    const value = newValue.toUpperCase(); 
    // ???? How do we inform the TextInput of the new value, since we do not have a state inside this component but only in REDUX? 
}; 

...

<Edit title={<TitleEdit />} {...props}> 
    <SimpleForm validate={validateCreateEdit}> 
     <TextInput label="BRAND" source="brand" onChange={handleChange.bind(this)} /> 
    </SimpleForm> 
</Edit> 

ありがとう:

は、例を参照してください。

答えて

1

onChangeを使用して、親コンポーネントの状態を更新できます。値を大文字に再フォーマットすることができます。

これで、材料UIの値propを使用して、入力された値を状態で表示できます。

http://www.material-ui.com/#/components/text-field

EDIT:上記で仮定が正しい値を格納し、フォーマットするステートフルなコンポーネントを作成することです。ユーザーがすべてのフィールドに記入するまで、通常はフォームを送信したくないので、送信アクションのディスパッチは過度のものになります。基本的に、ユーザーがフォームを送信する準備が整うまで、ローカルで値を再フォーマットします。

+0

ありがとうございますKunal、 "あなたは親コンポーネントの状態を更新する"という意味を実証できますか?あなたは行動を送ることを意味しますか? SimpleFormがこの値をREDUX状態から取得するように、どのようにしたらどうなるかは分かりませんが、これについて詳しく教えてください。 もう一度おねがいします! – user2078023

+0

あなたの懸念に対処する編集を追加しました。 –

関連する問題