scalajs-react 从 0.8.1 迁移到 0.9.2

scalajs-react migration from 0.8.1 to 0.9.2

基本上,我正在寻找有用的 react-bootstrap 包装器。在审查不同的可能性时,我发现 this github project。我已经分叉它们并开始更新版本。但是在将 scalajs-react 版本从 0.8.1 更新到 0.9.2 之后,我陷入了 html.Element vs dom.Element.

的困境

Affix object 在作用域上调用 getDOMNode()

val domNode = scope.getDOMNode()

早期的 domNode 扩展 type TopNode = html.Element 但在最新版本的 domNode 扩展 type TopNode = dom.Element 中没有 'className'、'offsetHeight' 和 'style' 等值.所以我得到编译失败

[error] /Users/vl/dev/git/scalajs-react-bootstrap/core/src/main/scala/com/acework/js/components/bootstrap/Affix.scala:94: value offsetHeight is not a member of japgolly.scalajs.react.TopNode
[error]         } else if (offsetBottom.isDefined && (position.top + domNode.offsetHeight >= scrollHeight - offsetBottom.get)) {
[error]                                                                      ^
[error] /Users/vl/dev/git/scalajs-react-bootstrap/core/src/main/scala/com/acework/js/components/bootstrap/Affix.scala:102: value style is not a member of japgolly.scalajs.react.TopNode
[error]             domNode.style.top = ""
[error]                     ^
[error] /Users/vl/dev/git/scalajs-react-bootstrap/core/src/main/scala/com/acework/js/components/bootstrap/Affix.scala:53: value className is not a member of japgolly.scalajs.react.TopNode
[error]         var className = affixRegexp.replaceAllIn(node.className, "")
[error]                                                       ^

如何在最新的 scalajs-react 版本中管理它? (据我了解,此功能已移至单独的项目 'scalajs-dom')

有用的导入是

import japgolly.scalajs.react.extra.DefaultReusabilityOverlay.autoLiftHtml