- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 purescript-halogen,当捕获到子组件的消息时,我想滚动到 div 的底部。
但是,在 Halogen 中似乎不存在滚动 Action 控制。
那么,我该如何
Scroll to bottom of div?
我认为的一种解决方案是在事件捕获时从 Main 调用其他进程,而不是 Halogen。
我不确定这个解决方案还不错。
最佳答案
设置滚动位置只是通过使用普通的 DOM 功能完成的,目标是渲染节点。
为此,您需要添加 ref
将 HTML DSL 中的属性添加到要滚动的节点:
-- Define this in the same module as / in the `where` for a component
containerRef ∷ H.RefLabel
containerRef = H.RefLabel "container"
-- Use it with the `ref` property like so:
render =
HH.div
[ HP.ref containerRef ]
[ someContent ]
eval
对于组件,您可以使用
getHTMLElementRef
获取创建的实际 DOM 元素。 ,然后更新滚动位置:
eval (ScrollToBottom next) = do
ref ← H.getHTMLElementRef containerRef
for_ ref \el → H.liftEff do
scrollHeight ← DOM.scrollHeight el
offsetHeight ← DOM.offsetHeight el
let maxScroll ← scrollHeight - offsetHeight
DOM.setScrollTop maxScroll el
pure next
关于purescript - PureScript Halogen 中的滚动操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44535278/
我正在使用 purescript-halogen,当捕获到子组件的消息时,我想滚动到 div 的底部。 但是,在 Halogen 中似乎不存在滚动 Action 控制。 那么,我该如何 Scroll
我想使用 Purescript 的 Halogen 编写前端的特定组件。 例如,我想使用卤素创建一个注册表单。它看起来像下面这样: module RegistrationForm where impo
我正在尝试使用 purescript-halogen与 websockets 结合使用,但经过几次尝试后,我无法让它们一起工作。 我看过this question on Thermite and we
我正在使用 purescript-halogen 构建类似电子表格的表格(类似于 Handsontable )。如果您双击一个单元格,一个 html 输入元素将呈现为相应表格单元格的子元素(并且不会为
我正在使用卤素灯来控制我的应用程序的菜单系统,我想知道如何“破坏”卤素灯组件。现在,我有一个函数可以在具有特定 ID 的 div 上创建子菜单组件。在应用程序的整个生命周期中,可以多次访问子菜单,因此
如何将特定的 purescript-halogen 组件渲染到 标签中? 以下为 Halogen 1.0.0 编写的示例将样式表和段落呈现到 HTML 正文中: module Main where i
我是一名优秀的程序员,十分优秀!