我正在尝试使用materialUI文本字段中的文本字段替换过滤器组件输入字段。 我可以通过创建一个新组件来显示输入字段,但它不是过滤内容。
我不想要不同的过滤器功能,只想用输入字段替换材料UI文本字段
Current Griddle部分是
从' / imports / ui / components / admin / common / pagination-new'中导入分页; 从' / imports / ui / components / admin / common / filteration-new';
导入过滤 <Griddle
ref={(ref) => {this._griddle = ref}}
useGriddleStyles={false}
columnMetadata={columnMeta}
results={this.getGriddleData()}
resultsPerPage={5}
tableClassName='table'
showFilter={true}
settingsText={''}
showSettings={true}
settingsToggleClassName={'text-hide'}
settingsIconComponent={
<RaisedButton
label='Columns'
primary={true}
/>}
useCustomPagerComponent={true}
customPagerComponent={Pagination}
useCustomFilterComponent={true}
customFilterComponent={Filteration}
columns={[
'actions','name', 'published', 'whiteboard.exist',
'location.floor', 'capacity.number',
'av.tv','av.appleTv','av.videocon',]}/>
过滤组件
render() {
return (
<div style={{display: 'flex'}}>
<TextField
name='title'
floatingLabelText='title'
/>
</div>
)
},
答案 0 :(得分:1)
是的,这可以做到。您提供给customFilterComponent
的组件将从Griddle收到以下道具:changeFilter
,results
,currentResults
,placeholderText
。然后,您可以在该组件内引用这些组件,并将它们传递到材料-ui TextField:
render() {
const { changeFilter, results, currentResults, placeholderText } = this.props;
return (
<div style={{ display: 'flex' }}>
<TextField
onChange={(e, value) => changeFilter(value)}
name='title'
floatingLabelText={placeholderText}
/>
</div>
)
}