2017-05-03 7 views
1

私はポップオーバーの中でドロップダウンを使用しようとしていますが、毎回ポップオーバーが終了します。私は状態の異なる可視プロパティを使用してみましたが、それでも同じです。Popoverを閉じずにPopover内部でDropdownを使用することはできますか?

<div> 
     <Dropdown 
       visible={visibleDropdown} 
       onVisibleChange={(visible)=>this.onDropdownVisibleChange(visible)} 
       overlay={ 
       <Menu> 
        <Menu.Item key="0"> 
        <a href="http://www.alipay.com/">1st menu item</a> 
        </Menu.Item> 
        <Menu.Item key="1"> 
        <a href="http://www.taobao.com/">2nd menu item</a> 
        </Menu.Item> 
        <Menu.Divider /> 
        <Menu.Item key="3">3d menu item</Menu.Item> 
       </Menu> 
       } trigger={['click']}> 
       <a className="ant-dropdown-link" href="#"> 
        Click me <Icon type="down" /> 
       </a> 
       </Dropdown> 
    </div> 

これは機能しません。何か不足していますか?

+0

https://github.com/ant-design/ant-design/issues/3438を参照してください。 – yesmeck

+0

はい、私はそれを見ましたが、私はdropdonwを使用しないでください。私のコンポーネントでは、配列を選択するだけで項目を配列に追加したいのですが、Selectを使って再初期化できません。selectを選択すると、プレースホルダーが表示されます。だから私はドロップダウンが必要です。 –

答えて

3

私は少し周りを演奏し、ここでは実用的なソリューションです:

http://codepen.io/JesperWe/pen/QvMNjJ

だけgetPopupContainerを使用すると、あなたが目に見える状態で少しプレイしている、それを解決しません。 Codepenから最も重要な部分を見てみると:

onVisibleChange = (visible) => { 
    this.setState({ visible: true }) 
}; 

closeDropdown =() => { 
    this.setState({ visible: false }) 
}; 

... 

const menu = (
    <Menu onSelect={this.closeDropdown}> 
     <Menu.Item> 
      One 
     </Menu.Item> 
     <Menu.Item> 
      Two 
     </Menu.Item> 
    </Menu> 
); 

return (
    <Dropdown overlay={menu} trigger={[ 'click' ]} getPopupContainer={this.getContainer}> 
     <Button onClick={this.onVisibleChange}>Dropdown</Button> 
    </Dropdown> 
); 

.... 

<Popover visible={this.state.visible} 
    onVisibleChange={this.onVisibleChange} 
    placement="right" 
    getPopupContainer={this.getContainer} 
    trigger="click" content={this.renderContent()}> 

    <Button icon="filter">click me</Button> 

</Popover> 

トリックはonVisibleChangeは常にtrueに状態を設定し、ドロップダウンオーバーレイから明示的にポップオーバーを閉じましたさ。

関連する問題