语义ui react下拉组件始终保持打开状态

时间:2018-05-02 13:02:56

标签: reactjs meteor semantic-ui

我试图在菜单组件(Meteor app)中使用语义ui react下拉组件。组件始终保持打开状态,最重要的是,它完全在菜单组件中呈现。

here a simple image:

这是代码:

  render() {
const {
  documents, columns, loading, className,
} = this.props;
const options = [
  {
    key: 'default',
    value: 'default',
    text: 'Default grid',
  },
  {
    key: 'edit',
    value: 'edit',
    text: 'Edit grid',
  },
];
return (
  !loading ? (
    <div className="eb-list" >
      <div className="eb-list-toolbar" >
        <Menu borderless icon="labeled" >
          <Menu.Item name="add" onClick={this.addDocument}><Icon name="add" />Nuovo</Menu.Item>
          <Menu.Item name="edit" onClick={this.editDocument}><Icon name="edit" />Modifica</Menu.Item>
          <Menu.Item name="copy"><Icon name="copy" />Duplica</Menu.Item>
          <Menu.Item name="mass"><Icon name="tasks" />Modifica di massa</Menu.Item>
          <Menu.Item name="delete" onClick={this.removeDocuments}><Icon name="delete" />Elimina</Menu.Item>
          <Menu.Item position="right" header name="className" >{className}</Menu.Item>
          <Dropdown item icon="" open={false} trigger={<Icon name="grid layout" />} options={options} />
        </Menu>
      </div>
      <div className="eb-list-content" >
        <AutoSizer defaultHeight={200} defaultWidth={500} >
          {({ height, width }) => (
            <Table
              data={documents}
              columns={columns}
              ref={(t) => { this.handleTable = t; }}
              onDoubleClickHandler={this.handleDoubleClick}
              height={height}
              width={width}
            />
        )}
        </AutoSizer>
      </div>
    </div>) : <Loading />

CSS:

.eb-list {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    display: flex;
    flex-direction: column;
}

.eb-list > .eb-list-content {
    flex: 1 1 auto;
}

.eb-list > .eb-list-toolbar {
    padding-bottom: 5px;
}

我无法弄清楚我做错了什么。我观察到子组件API的相同行为。

有人能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

<强>解决!

我忘了在custom.semantic.json

中包含下拉列表的定义
{
    "definitions" : {
      "site": true,
      "menu": true,
      "icon": true,
      "dropdown": true,
      "modal": true,
      "list": true
    },
    "themes": {
      "amazon"     : false,
      "basic"      : true,
      "bookish"    : false,
      "bootstrap3" : false,
      "chubby"     : false,
      "classic"    : false,
      "default"    : true
    }
}

现在它按预期工作了!