【问题标题】:How to hide Material-UI raised button when printing打印时如何隐藏 Material-UI 凸起的按钮
【发布时间】:2016-09-04 12:41:57
【问题描述】:

我在网页上有一个按钮,通过 javascripts window.print() 方法触发打印。不幸的是,在打印预览中,我仍然可以看到触发打印的按钮。有没有一种方法可以设置属性以在单击后隐藏此按钮或在尝试打印时隐藏它?

我在 Material-UI 网站上找不到任何有用的东西,在 SO 上也找不到任何东西。我想我将不得不使用 CSS 来处理这个问题,但我很好奇是否有其他人遇到过这个问题,以及他们是否找到了另一种隐藏按钮的方法。

另外 - 如有必要,我可以隐藏我的整个工具栏组,但在该文档中也没有什么特别突出的。

【问题讨论】:

  • 你试过@media print { .btn{dispay:hnone;} }
  • 我在几个地方看到过这个,但我没有尝试过。我想使用 javascript 或 material-ui 属性来完成此操作,但我会对此进行研究,因为似乎 CSS 可能是唯一的选择。

标签: javascript reactjs material-ui


【解决方案1】:

在您的 css 中使用 @media print 查询来设置 css 以进行打印

@media print
{    
    button
    {
        display: none !important;
    }
}

这应该可行。看到这里我在material.ui站点的main.css中添加了打印查询

并注意当我去打印时通常会显示在“简单示例”部分中的按钮不再存在

【讨论】:

  • 感谢您,您是否知道仅使用工具栏组或凸起按钮上的 material-ui 属性或使用 javscript 隐藏按钮来完成相同的功能?我开始觉得这是不可能的。
  • 这是一个很好的答案,并且正如 Steven 上面所说的那样工作。它没有通过 material-ui 或 javascript 完成任务,但似乎这个 CSS 代码是目前唯一可行的修复。谢谢史蒂文,这个答案解决了我们的问题。
  • 可以通过Material UI属性来完成,请看我的回答。
【解决方案2】:

将要隐藏的内容放置在具有 displayPrint="none" 属性的 Box 中应该可以解决问题。示例:

<Box component="span" displayPrint="none">
    your screen only content (this hides when printing)
</Box>

材料用户界面文档here。

【讨论】:

  • 这个在和Buttons这样的组件结合使用时并不能真正起作用,你必须将它应用到一个自定义组件中来包装组件。如果您使用 Button 组合显示样式,它会抱怨 prop 传递。
  • @simbolo 它确实可以与 Material UI 按钮一起使用,而且我对任何其他元素都没有问题。我没有在浏览器上广泛测试过它,但它至少适用于 Chrome 和 Edge。看看这个例子:codesandbox.io/s/material-demo-forked-t3m3n?file=/demo.js
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-22
  • 1970-01-01
  • 2021-05-30
  • 1970-01-01
相关资源
最近更新 更多