Material-UIオートコンプリートコンポーネント(v0.15.4)を使用してフィルタの種類を実装しています。ユーザーエクスペリエンスを向上させるために、現在の入力を単にクリアする(「Google Specification for Auto-complete text fields」の画像のように)クリアボタン(アイコンボタンコンポーネント?)をその内側またはそのすぐ隣に追加したいと考えています。material-uiのオートコンプリートフィールドにクリアボタンを追加する方法
オートコンプリートはTextFieldを使用するので、TextFieldの "value"にListItemまたはMenuItemを与え、rightIcon(Button)を使用すると考えました。しかし、オートコンプリートではStringを "SearchText"(TextFieldの "value"フィールドを埋めるためにinternalyが使用する)としてのみ使用できます。
が<ListItem
primaryText={<AutoComplete
dataSource={ dataSource }
filter={AutoComplete.fuzzyFilter}
hintText="Select Filter"
onNewRequest={this.handleSelect.bind(this)} />}
rightIconButton={<IconButton
onClick={this.handleClearClick.bind(this)}>
<ClearIcon />
</IconButton>}
/>
しかし、この方法は、明確なアイコンが背後に表示されます:
だから私は「検索テキスト」内の他のコンポーネントを置くことができないので、私はこのようなListItemの内部でオートコンプリートをラップするというアイデアで終わります自動完成入力フィールドと私は本当に必要としない/リスト(項目)が欲しい。
この問題を解決する他の考え方はありますか?または、将来のバージョンのMaterial-UIのために計画されたクリア関数(またはより一般的な "rightIconButton"フィールド)かもしれませんか?
こんにちはプラネット、提案のおかげで。私はこれを前に試してみましたが、実際にフィールドに何かを入力した場合にのみ動作します。しかし、私はopenOnFocus = {true}を設定しても(上記のことを忘れてしまったようです)、ユーザがリストから項目をクリックすると(onを入力しなくても)onUpdateInputはトリガされないので、ボタンは状態を変えないので働かない。 – mlemler
私は同じ問題を抱えていました。フィールドをクリアできませんでした。これはあなたが提供したソリューションによって機能しました。ありがとう!私は数時間、私の髪を引っ張っていた。 –