首页 > 解决方案 > 有没有办法通过道具将 FontAwesomeIcon 组件传递给 ReactHTMLTableToExcel 组件?

问题描述

ReactHTMLTableToExcel 接受 String 类型的 prop buttonText,

<ReactHTMLTableToExcel
                   id="test-table-xls-button"
                   className="download-table-xls-button"
                   table="table-to-xls"
                   filename="tablexls"
                   sheet="tablexls"
                   buttonText="Download as XLS"/>

我想显示一个 fontawesome 图标而不是文本,所以像这样修改代码。

<ReactHTMLTableToExcel
                id="test-table-xls-button"
                className="download-table-xls-button"
                table="table-to-xls"
                filename="tablexls"
                sheet="tablexls"
                buttonText={<IconDownload />} />

这实际上工作正常,我的意思是我可以看到图标按钮,但我在控制台上收到错误:失败的道具类型:提供给buttonText的类型无效道具,预期。objectReactHTMLTableToExcelstring

这是库的链接:https ://www.npmjs.com/package/react-html-table-to-excel

那么,我怎样才能避免错误呢?

标签: javascriptreactjsfont-awesome

解决方案


一种替代方法是向其传递一个空字符串(或一个空格,如果它检查 null),然后使用 CSS::before 属性将您的 fontAwesome 图标包含在内容中。这将避免 PropTypes 警告。


推荐阅读