我遇到了一个问题,我试图过滤一个名为“Severity”的列,列中有重复项。此列包含ERROR,INFO或DEBUG。当我使用它时:
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(f));
在我的下拉菜单中,我得到了一系列重复的东西......是否有办法让它只有我想要的选项而没有重复?
答案 0 :(得分:0)
你需要的是一个HigherOrder组件来包装SelectInput并在它们点击选择输入之前过滤掉它们。
const SelectUniqueChoices = WrappedComponent => props => {
const filteredChoices = UniqueElements(props.choices)
const newProps = {...props}
newProps.choices = filteredChoices
return (<WrappedComponent {...newProps} />)
}
const UniqueElements = (array) => (
Array.from(new Set(array))
)
const WrappedSelectField = SelectUniqueChoices(SelectInput)
const LogFilter = (props) => (
<Filter {...props}>
<TextInput label="Search" source="q" alwaysOn />
<ReferenceInput label="Severity" source="severity" reference="archivedfiles" allowEmpty>
<WrappedSelectField optionText="Severity" />
</ReferenceInput>
</Filter>
);