ips*_*sec 5 haskell frp threepenny-gui
简单来说,我正在寻找一种显示方式Behaviour (UI Element).
我的实际用例是显示一个可以过滤的表.所以我有一个函数tableElement :: String -> UI Element(String参数是过滤条件)和一个输入字段filterElement :: Element,它代表过滤器.对我来说,最自然的方式就是这样:
bFilter <- stepper "" (valueChange filterElement)
displaySomehow (fmap tableElement bFilter)
Run Code Online (Sandbox Code Playgroud)
这也是在Elm中完成的方式.
到目前为止sink children,我发现的最接近的是使用,但这只适用于[Element]而不适用[UI Element].另外,我必须使用虚拟元素作为父元素或与其余子元素混在一起.
用threepenny-gui实现类似这样的东西最好的方法是什么?
(作者在此)
请注意,UI Element代表一个操作,执行时可能会创建一个新的 Element. 您必须执行该操作才能执行后者。不幸的是,目前还没有办法在 FRP 风格中完全做到这一点,每当过滤器发生变化时,您将不得不求助于onChanges组合器重新创建表。在那里,您可以使用set children.
例子:
onChanges bFilter $ \s -> do
el <- tableElement s
myTable # sink children [el]
Run Code Online (Sandbox Code Playgroud)
Bartab.hs和CRUD.hs示例可能与您的情况相关。