- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个使用 grommet ux 框架的 React/redux 应用程序。基本结构是:
<App className="gol">
<Article>
<GLHeader />
<SideSplit active={props.nav} onResponsive={checkMobile} >
<GLNav />
<GLBoard />
</SideSplit>
<Footer colorIndex="neutral-1-a" justify="center">© 2016 </Footer>
</Article>
</App>
我想要 <GLNav />
除非单击“设置”图标,否则组件将被隐藏,从而允许 <GLBoard />
组件填充屏幕。我有一个连接到图标的 redux 状态变量来切换 active
prop 并在 <GLNav />
上切换一个 CSS 类成分。 CSS 将宽度设置为 0,以便 NAV 组件滑入和滑出:
.hide{
width: 0 !important;
transition: width .3s ease-out;
}
.show{
transition: width .3s ease-out;
}
所有这些在 Chrome 中都能完美运行。但是在 Safari 中,当 SideSplit 组件处于非移动模式(屏幕宽度大于 750 像素)时 - 即使 active
prop 为假,CSS 类 .hide
已应用 - <GLNav />
组件有一个宽度值。如果我将宽度更改为小于 750 像素,索环应用 hidden
类,这将隐藏 <GLNav />
随心所欲。
这是 <GLNav />
类:
const GLNav = props => {
return(
<SideBar colorIndex="neutral-1-a" className={props.nav}>
<Header pad="medium" justify="between">
<Title>
Settings
</Title>
<Button icon={<Close />} onClick={() => props.actions.toggleNav()} />
</Header>
</SideBar>
)
}
最佳答案
虽然这个解决方案有效,但我相信有更好的方法可以实现您想要做的事情,而无需直接操作 css。
您见过 Grommet 中的 Animate 实用程序吗?
https://grommet.github.io/docs/animate/examples/#1
它允许您使用纯 React 方法来隐藏元素,而无需依赖 css 来隐藏元素(它在幕后使用 react-addons-transition-group
)。
在你的例子中我会做这样的事情:
export default MyComponent extends Component {
state = { navActive: false }
render () {
const { navActive } = this.state;
let navNode;
if (navActive) {
navNode = (
<Animate leave={{"animation": "slide-left", "duration": 1000}}
visible={true}>
<GLNav />
</Animate>
);
}
<App className="gol">
<Article>
<GLHeader />
<SideSplit active={props.nav} onResponsive={checkMobile} >
{navNode}
<GLBoard />
</SideSplit>
<Footer colorIndex="neutral-1-a" justify="center">© 2016 </Footer>
</Article>
</App>
}
}
关于css - 如何隐藏 Grommet SideSplit 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40923326/
我正在将grommet-ui与webpack和react结合使用。如何设置自己的颜色选项。 有没有办法使用我自己的自定义颜色/配色方案来代替预定义的颜色,例如 colorIndex="neutral-
我正在使用 Grommet v2 组件,并尝试镜像 Grommet 故事书中的选择“季节”示例中使用的显示。 该字段如下所示: 不同之处在于我的数据需要分离标签和值: const Options =
我有一个使用 grommet ux 框架的 React/redux 应用程序。基本结构是:
我正在使用 react-icons 和 Font Awesome 图标,我设法通过两种方法轻松更改颜色: 与颜色 Prop 一起使用: 与 css 一起使用: .icone { color: #
我正在使用索环开发一个应用程序。库中的许多组件都有一个 onClick 属性,当您向组件的 onClick 属性提供回调函数时,它就会变得可悬停。但 TableRow 组件似乎不会发生这种情况。 fi
我正在使用 grommet对于 React 元素,我想知道如何将两个 中的文本大写组件。 最佳答案 您要求将 header 设为大写并执行大写。 在你的回答中你是这样做的, {product.nam
我在 Python 和 Flask 方面有超过 10 年的经验,主要关注后端,很少使用 HTML + JavaScript,但 CSS 为零。大约 6 周前,我开始使用 React 和 JavaScr
我正在尝试在我的 React 项目中使用 grommet,并且正在使用 webpack。我已经添加了 scss 加载器,当我构建我的应用程序时,我收到以下错误: ERROR in ./~/css-lo
通常 span 不应该有任何 margin-top,那是什么原因呢?另外,出于某种原因,如果我将一个 Text 实例放在一个表单元素中,那么它就不再像通常那样获得 margin-top 了吗? imp
我是一名优秀的程序员,十分优秀!