5

简单来说,我正在寻找一种显示Behaviour (UI Element).

我的实际用例是显示一个可以过滤的表格。所以我有一个函数tableElement :: String -> UI ElementString参数是过滤条件)和一个输入字段filterElement :: Element,它代表过滤器。对我来说,将这些结合起来最自然的方式是这样的:

bFilter <- stepper "" (valueChange filterElement)
displaySomehow (fmap tableElement bFilter)

这也是它在 Elm 中完成的方式。

到目前为止,我发现的最接近的东西是 using sink children,但这仅适用[Element][UI Element]. 此外,我必须使用一个虚拟元素作为父元素或摆弄剩余的子元素。

用threepenny-gui实现这样的事情的最佳方法是什么?

4

2 回答 2

2

(作者在这里)

请注意,它UI Element表示一个动作,在执行时可能会创建一个 Element的. 您将不得不执行操作来执行后者。不幸的是,目前还没有办法在 FRP 样式中完全做到这一点,onChanges每当过滤器更改时,您将不得不求助于组合器来重新创建表。在那里,您可以使用set children.

例子:

onChanges bFilter $ \s -> do
    el <- tableElement s
    myTable # sink children [el]

Bartab.hs和CRUD.hs示例可能与您的情况相关

于 2015-02-15T21:54:10.010 回答
0

您可以使用从那里(希望)currentValue获取您所在的位置,并可以获取要包含在 HTML 中的元素。UI ElementUI

于 2015-02-13T17:23:53.183 回答