【发布时间】:2017-03-07 06:40:19
【问题描述】:
我正在使用 Material-UIs AutoComplete Component (v0.15.4) 来实现一种过滤器。为了改善用户体验,我想在它内部或旁边添加一个清除按钮(图标按钮组件?),它只是清除当前输入(就像在Google Specification for Auto-complete text fields 的图片中一样)。
由于 AutoComplete 使用 TextField,所以我想将 ListItem 或 MenuItem 赋予 TextField 的“值”并使用 rightIcon(Button)。但是 AutoComplete 只允许 String 作为“SearchText”(内部用于填充 TextField 的“value”字段)。
因此,由于我无法将其他组件放入“searchText”中,因此我最终想到了将 AutoComplete 包装在 ListItem 中,如下所示:
<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>}
/>
但是这样,清除图标会出现在自动完成输入字段的后面,我真的不需要/想要列表(项目)。
还有其他解决这个问题的想法吗?或者是否为未来版本的 Material-UI 计划了 clear-function(或更通用的“rightIconButton”字段)?
【问题讨论】:
标签: reactjs react-jsx material-ui