【发布时间】:2019-07-04 13:38:11
【问题描述】:
我正在尝试在 SVG 组件上显示工具提示。对于工具提示,我正在尝试使用 reactstap 组件。
如果我在 SVG 中使用普通组件,它不会呈现 SVG 组件。
getServiceStatus = (serviceStatus, serviceName) => {
return Object.keys(serviceStatus).map((date, index) => {
const downTime = serviceStatus[date].filter(value => { return value === 0 }).length
const color = downTime ? "#bcbe2a" : "#36b37e"
const toolTipText = downTime ? date + "No DownTime report for this date" : date + " service was down for " + downTime
return (
<span key={index}>
<rect key={date} id={serviceName+'-'+ index} height="34" width="3" x={(index + 1) * 5} y="0" fill={color} />
<Tooltip placement="top" isOpen={this.props.toolTipOpen} target={serviceName+'-'+ index} toggle={this.toggleToolTip}>
{toolTipText}
</Tooltip>
</span>
)
})
}
如果我为 SVG 和 Tooltip 创建单独的组件,那么问题是,工具提示会同时显示两个不同的组件。
getServiceStatus = (serviceStatus, serviceName) => {
return Object.keys(serviceStatus).map((date, index) => {
const downTime = serviceStatus[date].filter(value => { return value === 0 }).length
const color = downTime ? "#bcbe2a" : "#36b37e"
const toolTipText = downTime ? date + "No DownTime report for this date" : date + " service was down for " + downTime
return (
<rect key={date} id={serviceName+'-'+ index} height="34" width="3" x={(index + 1) * 5} y="0" fill={color} />
)
})
}
getToolTip = (serviceStatus, serviceName) => {
console.log(serviceStatus.toString())
return Object.keys(serviceStatus).map((date, index) => {
const downTime = serviceStatus[date].filter(value => { return value === 0 }).length
const toolTipText = downTime ? date + "No DownTime report for this date" : date + " service was down for " + downTime
return (
<span key={index}>
<Tooltip placement="top" isOpen={this.props.toolTipOpen} target={serviceName+'-'+ index} toggle={this.toggleToolTip}>
{toolTipText}
</Tooltip>
</span>
)
})
}
【问题讨论】:
-
你能在codesandbox.io/s/new复制这个吗?
标签: javascript reactjs redux react-redux reactstrap