我有一个Typeahead与自定义菜单使用renderMenu。我在下拉菜单的底部添加了2个自定义菜单项。一个分隔器和一个按钮。
当我不添加额外的项目,并且没有结果时,它显示空标签。当我添加额外的项目时,如果没有结果,它不会显示“空”标签,因为它认为它还有2个项目。
如何调整以反映没有结果但菜单中仍有内容的空值?
renderMenu = (results, menuProps) => {
const { menuFooterButtonOptions } = this.props;
// add all results from query
const items = results.map((result, index) => (
<MenuItem key={index} option={result} position={index}>
{menuProps.renderMenuItemChildren ? menuProps.renderMenuItemChildren(result, this.props, index) : result}
</MenuItem>
));
// add footerButton if needed
if (menuFooterButtonOptions && menuFooterButtonOptions?.show) {
const button = (
<MenuItem option={{key: "footerButton"}} onClick={(_) => {menuFooterButtonOptions.onClick();}} active={false}>
<span className={"btn-link"}>
{menuFooterButtonOptions.text}
</span>
</MenuItem>
);
items.push(<Menu.Divider />);
items.push(button);
}
return (
<Menu {...menuProps}>
{items}
</Menu>
);
};
2条答案
按热度按时间mfuanj7w1#
我通过在没有项目的时候添加一个空元素来解决它。
ffdz8vbo2#
试试这个如果结果存在则呈现项,如果不存在则呈现空消息。