reactjs - 是否可以在 SLDS React Datepicker 组件中使用 SVG 文件?
问题描述
我在 Quip 平台(在 React 上运行)中工作,使用 SLDS-React DataTableCell 中的 SLDS-React Datepicker 组件,但无法在 Datepicker 中呈现任何 SLDS 图标(.SVG 文件)。似乎以下代码片段(由 SLDS 生成,应该呈现用于在月份之间导航的右箭头)完全限制了 SVG 图标的显示。我已将这些资产包含在我的构建中,并且可以使用下面包含的相同链接在另一个选项卡中打开和查看资产。
这段代码只是一个图标使用的例子,但这种情况出现在多个地方。
<button class="slds-button slds-button_icon-container" type="button">
<svg aria-hidden="true" class="slds-button__icon">
<use href="dist/assets/right.svg">
</use>
</svg>
<span class="slds-assistive-text">Next month</span>
</button>
这就是我实例化 Datepicker 组件的方式:
return (
<IconSettings onRequestIconPath={({category, name}) => `dist/assets/${name}.svg`}>
<DatePicker
align='right'
labels={{}}
onChange={(event, data) => {
this.state.editMode = false;
this.passUpdate(this.state.property, this.state.rowId, this.state.children);
}}
formatter={(date) => {
let newDate = date ? moment(date).format('YYYY-MM-DD') : '';
this.state.children = newDate;
return newDate;
}}
menuPosition='overflowBoundaryElement'
parser={(dateString) => {
return moment(dateString, 'MM-DD-YYYY').toDate();
}}
value={this.state.children}
/>
</IconSettings>
)
我没有为组件添加任何样式。我还看到从浏览器编辑 Button HTML 内联并用 <img 组件替换 <svg 组件,将图标的路径作为 src 参数传递,效果很好。
由于我无法直接修改 SLDS 代码以更改这些标签并将 <svg 替换为 <img,我如何才能让我的图标在 Datepicker 组件中呈现?
解决方案
你确定你在正确的目录中使用图标并且你没有丢失一个/
吗?
所以它是:
return (
<IconSettings onRequestIconPath={({category, name}) => `/dist/assets/${name}.svg`}>
<DatePicker
align='right'
labels={{}}
onChange={(event, data) => {
this.state.editMode = false;
this.passUpdate(this.state.property, this.state.rowId, this.state.children);
}}
formatter={(date) => {
let newDate = date ? moment(date).format('YYYY-MM-DD') : '';
this.state.children = newDate;
return newDate;
}}
menuPosition='overflowBoundaryElement'
parser={(dateString) => {
return moment(dateString, 'MM-DD-YYYY').toDate();
}}
value={this.state.children}
/>
</IconSettings>
)
推荐阅读
- node.js - Node.js 在不使用时休眠,最初需要很长时间才能响应
- uikit - 如何在 iOS 14 的 UISplitViewController 中显示或隐藏主节点
- excel - 从一张表中获取非零值和相邻数据并在另一张表中创建新表 - VBA循环
- c - 为什么记忆不需要指针?
- java - 如何使用 wait() 和 notifyAll() 暂停函数,直到值增加到超过一定数量
- excel - COUNT 如果该行的单列中的日期在指定范围内,则“LOI-”出现在多列范围内的次数
- r - 将配对数据读入 R
- c# - Discord.net 向特定用户发送 DM?
- wordpress - WordPress - 你可以在页面上有斜杠,但在帖子中没有斜杠吗?
- python - cx_Oracle 获取布尔返回值