基于另一个切换组件的 React JS JSX 显示或隐藏

谜语我这个

我有 2 个显示/隐藏面板的切换组件,它们工作正常。但是,如果我切换第二个面板,我需要确保第一个面板关闭。与第一个相同,我不希望两个面板同时打开。

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

<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() 内切换另一个面板......

onChange={() => this.props.setAttributes({ toggleTwo: !toggleTwo, toggleOne: !toggleOne })}

但是如果它已经关闭并且似乎无法弄清楚,我不想切换它。

谢谢。

Mi_Onim

要关闭面板,您只需将切换变量设置为false

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

onChange={() => this.props.setAttributes({ toggleTwo: !toggleTwo, toggleOne: false })}

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

onChange={() => this.props.setAttributes({ toggleOne: !toggleOne, toggleTwo: false })}

这将确保在切换一个面板时,另一个面板始终处于关闭状态,这样您就不会同时打开两个面板。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

React-从另一个组件的onClick切换一个组件的显示

单击另一个组件中的按钮时,如何显示/隐藏React组件?

无法通过React.js中的组件设置包含另一个组件的div的样式显示

React.js-显示/隐藏组件中动态生成的元素

如何使组件在React.js中滚动显示/隐藏

React JSX如何在计时器的两个对象之间切换组件状态

React JSX for 循环只显示最后一个值

React Native使用另一个函数循环返回多个JSX组件

从另一个组件 React js 设置状态

从另一个组件获取参数[React JS]

使用 React 钩子从另一个组件切换一个组件

React.js 提交后“隐藏元素并显示下一个元素”

将CSS添加到react / JSX以隐藏组件

React JS-显示或隐藏div

在React JS中显示隐藏内容onClick

单击 React.js 中的另一个切换按钮时如何删除活动类?

切换div以在点击时显示,而切换另一个以隐藏

js在Div中查找类+切换CSS /隐藏一个显示其他

当另一个div在react js中处于活动状态时如何隐藏一个div

根据另一个JSX属性react设置JSX属性

与 react.js 相邻的 JSX

React.js渲染时如何避免JSX组件冷凝?

在Vue JS中单击按钮后,如何隐藏警报并显示另一个警报?

如何将带有状态变量的 jsx 导入另一个 React 组件?

在React.Js中创建一个组件作为另一个组件的子组件

如何使用单个按钮在 react js 中隐藏和显示组件

在React.js中显示/隐藏组件的首选方式是什么?

React JS-如何根据URL路径显示/隐藏组件的某些部分?

如何在react js中显示或隐藏带有过渡动画的组件