首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于另一个Toggle组件的JSX显示或隐藏

问基于另一个Toggle组件的JSX显示或隐藏
EN

Stack Overflow用户
提问于 2019-02-12 21:41:38
回答 1查看 155关注 0票数 0

我有两个切换组件,显示/隐藏面板在他们下面,这是良好的工作。然而,如果我切换第二个面板,我需要确保第一个面板关闭。和第一个一样,我不希望两个面板同时打开。

这里是我所拥有的一个基本例子。

代码语言:javascript
复制
<ToggleControl
    label={__( 'Toggle One' )}
    checked={ toggleOne }
    onChange={ () => this.props.setAttributes({ toggleOne: ! toggleOne }) }
/>

    { toggleOne ?
        <PanelBody>
            ... Show Panel 1 Stuff
        </PanelBody>
    : null }

<ToggleControl
    label={__('Add Image Divider')}
    checked={toggleTwo}
    onChange={() => this.props.setAttributes({ toggleTwo: !toggleTwo })}
/>

    { toggleTwo ?
        <PanelBody>
            ... Show Panel 2 Stuff
        </PanelBody>
    : null }

通过这样做,我可以在另一个按钮的onChange()中切换另一个面板.

代码语言:javascript
复制
onChange={() => this.props.setAttributes({ toggleTwo: !toggleTwo, toggleOne: !toggleOne })}

但我不想切换它,如果它已经关闭,似乎无法解决它。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-12 21:54:44

若要关闭面板,只需将切换变量设置为false即可。

要在切换第二个面板时关闭第一个面板,可以执行以下操作:

代码语言:javascript
复制
onChange={() => this.props.setAttributes({ toggleTwo: !toggleTwo, toggleOne: false })}

同样,要在切换第一个面板时关闭第二个面板,可以执行以下操作:

代码语言:javascript
复制
onChange={() => this.props.setAttributes({ toggleOne: !toggleOne, toggleTwo: false })}

这将确保在切换一个面板时,另一个面板总是关闭的,这样您就不会同时切换两个面板。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54659080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档