gpt4 book ai didi

haskell - 三便士中基于行为的动态元素

转载 作者:行者123 更新时间:2023-12-04 21:14:05 25 4
gpt4 key购买 nike

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

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

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

这也是 Elm 的做法。

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

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

最佳答案

(作者在这里)

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

例子:

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

Bartab.hsCRUD.hs示例可能与您的情况相关。

关于haskell - 三便士中基于行为的动态元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28500769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com