基本上,我正在寻找有用的 react-bootstrap 包装器。在审查不同的可能性时,我发现了这个 github 项目。我已经分叉了它们并开始更新版本。但是在将 scalajs-react 版本从 0.8.1 更新到 0.9.2 之后,我在 html.Element 与 dom.Element 之间陷入了困境。
在作用域上附加对象调用 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”)