自动完成弹出框内的Material-UI选项卡

拉贾尔·查克拉巴蒂(Rajarshi Chakrabarti)

是否可以以“选项卡”的形式在“自动完成”弹出窗口中呈现匹配的数据?我可能有多达三类与输入值匹配的数据,我想将它们显示为选项卡。我可以结合使用Material-UI自动完成和Tabs组件来实现此目的吗?

单体

AutoComplete组件为建议的项目创建一个Menu组件。因此,每个建议都是MenuItem类型的组件。

MenuItem组件可以具有动态子项,因此您可以添加一个选项卡作为MenuItem的子项。问题是,建议酥料饼内的任何点击关闭酥料饼。

如果您想尝试一下,或者以某种方式破解它(例如,防止将click事件传送到弹出窗口,并手动处理打开状态(?)),请使用复制代码(开始在“输入以查看建议):

import React from 'react';
import AutoComplete from 'material-ui/AutoComplete';
import {Tabs, Tab} from 'material-ui/Tabs';
import MenuItem from 'material-ui/MenuItem';
import getMuiTheme from 'material-ui/styles/getMuiTheme';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import {deepOrange500} from 'material-ui/styles/colors';

const muiTheme = getMuiTheme({
  palette: {
    accent1Color: deepOrange500,
  },
});

export default class AutoCompleteExampleSimple extends React.Component {

  constructor(props) {
    super(props);

    this.state = {
      dataSource: [],
    };
  }

  getTabs() {
   return <MenuItem>
            <Tabs>
              <Tab label="Item One" >
                <div>
                  <h2>Tab One</h2>
                  <p>
                    This is an example tab.
                  </p>
                  <p>
                    You can put any sort of HTML or react component in here. It even keeps the component state!
                  </p>
                </div>
              </Tab>
              <Tab label="Item Two" >
                  <div>
                    <h2>Tab Two</h2>
                    <p>
                      This is another example tab.
                    </p>
                  </div>
              </Tab>
              <Tab
                label="onActive"
                route="/home">
                <div>
                  <h2 >Tab Three</h2>
                  <p>
                    This is a third example tab.
                  </p>
                </div>
              </Tab>
            </Tabs>
          </MenuItem>
  }

  handleUpdateInput(value) {
    this.setState({
      dataSource: [
        {text: 'test', value: this.getTabs()}
      ],
    });
  };

  render() {
    return (
      <MuiThemeProvider muiTheme={muiTheme}>
        <div>
          <AutoComplete
            hintText="Type anything"
            dataSource={this.state.dataSource}
            onUpdateInput={this.handleUpdateInput.bind(this)}
          />
        </div>
      </MuiThemeProvider>
    );
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

与nextjs的material-ui选项卡?

来自分类Dev

React material UI UI警告选项卡仅接受选项卡组件作为子代

来自分类Dev

Bootstrap UI:“自动”选项卡随时间移动

来自分类Dev

自动引导选项卡

来自分类Dev

选项卡自动补全命令的选项

来自分类Dev

如何更改Material UI自动完成弹出框的宽度

来自分类Dev

material-ui:输入更改选项卡的this.state.value

来自分类Dev

ReactJS Material UI防止在输入时重新渲染选项卡

来自分类Dev

Reactjs - 在 material-ui 中重置操作更改的选项卡索引

来自分类Dev

在Intellij中关闭自动完成选项卡删除

来自分类Dev

如何使bash停止选项卡自动完成隐藏目录

来自分类Dev

带选项卡自动完成的用户输入文件路径

来自分类Dev

如何使bash停止选项卡自动完成隐藏目录

来自分类Dev

选项卡自动完成“命令替换错误”

来自分类Dev

符号名称的LLDB选项卡完成

来自分类Dev

jQuery终端选项卡完成

来自分类Dev

zsh选项卡完成。到 。/

来自分类Dev

目录的vim选项卡完成

来自分类Dev

禁用腻子选项卡完成声音

来自分类Dev

取消zsh选项卡完成

来自分类Dev

禁用bash选项卡完成

来自分类Dev

取消zsh选项卡完成

来自分类Dev

LLDB选项卡完成的符号名称

来自分类Dev

zsh选项卡完成。到 。/

来自分类Dev

禁用腻子选项卡完成声音

来自分类Dev

刷新bash选项卡完成

来自分类Dev

获取intellij python以在选项卡上自动完成而不是在空格(和选项卡)上自动完成

来自分类Dev

从C到HTML的自动选项卡

来自分类Dev

使用 jQuery 自动滚动选项卡