Есть ли способ передать компонент FontAwesomeIcon через реквизиты в компонент ReactHTMLTableToExcel? - PullRequest
0 голосов
/ 12 января 2019

ReactHTMLTableToExcel принимает опору buttonText типа String,

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

Я хочу отображать потрясающий значок вместо текста, поэтому измените код следующим образом.

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

Это на самом деле работает нормально, я имею в виду, я вижу кнопку с пиктограммой, но я получаю сообщение об ошибке на консоли: Неудачный тип пропеллера: недопустимая опора buttonText типа object, предоставленная ReactHTMLTableToExcel, ожидаемая string.

Это ссылка на библиотеку: https://www.npmjs.com/package/react-html-table-to-excel

Итак, как мне избежать ошибок?

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Один из вариантов - передать пустую строку (или пробел, если он проверяет нулевое значение), а затем использовать свойство CSS :: before, чтобы включить значок fontAwesome в содержимое. Это позволит избежать предупреждения PropTypes.

0 голосов
/ 12 января 2019

Это потому, что компонент библиотеки ожидает строку для этого свойства. Вместо этого вы предоставляете объект. так что короткий ответ: ты не должен этого делать. Но вы действительно можете создать собственную версию библиотеки, изменить тип объекта на объект и изменить отображение значка в соответствии с вашими потребностями. но вообще не рекомендуется передавать объект в строку и искать способ подавления предупреждения.

...