我正在为Scala.js (v0.6.13)使用HighCharts facade,在我的图表上配置十字光标时遇到了困难。我的理解是,当我看到Scala.js联合类型声明时:
val crosshair: UndefOr[|[Boolean, CleanJsObject[YAxisCrosshair]]]十字准线可以是布尔值也可以是YAxisCrosshair?
如果是这样,我的十字准线设置为true的声明可以正确编译:
override val yAxis: Cfg[YAxis] = YAxis(
gridLineWidth = 0,
minorGridLineWidth = 0,
opposite = false,
labels = YAxisLabels(
align = "right",
format = "{value:.8f}"
),
crosshair = true
) 但是,当我将十字准线设置为YAxisCrosshair时,我的项目无法编译。
override val yAxis: Cfg[YAxis] = YAxis(
gridLineWidth = 0,
minorGridLineWidth = 0,
opposite = false,
labels = YAxisLabels(
align = "right",
format = "{value:.8f}"
),
crosshair = YAxisCrosshair(
snap = false,
label = YAxisCrosshairLabel(
format = "{value:.8f}"
)
)
)后者的结果是:
type mismatch;
found : com.highstock.config.YAxisCrosshair
required: scala.scalajs.js.UndefOr[scala.scalajs.js.| [Boolean,com.highcharts.CleanJsObject[com.highstock.config.YAxisCrosshair]]]这里我漏掉了什么?
发布于 2016-12-07 06:24:29
我想我已经找到答案了。这是需要做的事情:
override val yAxis: Cfg[YAxis] = YAxis(
gridLineWidth = 0,
minorGridLineWidth = 0,
opposite = false,
labels = YAxisLabels(
align = "right",
format = "{value:.8f}"
),
crosshair = YAxisCrosshair(
snap = false,
label = YAxisCrosshairLabel(
format = "{value:.8f}"
)
): CleanJsObject[YAxisCrosshair]
)https://stackoverflow.com/questions/41005880
复制相似问题