如何在Threepenny GUI中重新创建元素?

时间:2017-04-18 12:17:06

标签: haskell threepenny-gui

如果我在某些delete上使用Element函数,我该如何重新创建它们(就像让它们再次出现一样)?

我查看了示例和文档,但是我找不到任何允许我这样做的函数,除了mkElement可能要求我传递String。但是,由于我正在使用Element来获取会产生它的String会有点困难。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:3)

(图书馆作者)

实际上,delete函数不只是从DOM树中删除元素 - 它试图删除JS和Haskell方面对它的任何引用。基本上该元素(应该)在delete之后不可用。

如果您想暂时隐藏元素,可以

  • 通过CSS display属性隐藏它。
  • 休息父元素的子元素,例如element parent # set children []

答案 1 :(得分:2)

鉴于delete具有签名delete :: Element -> UI (),因此当您致电delete时,您手头有Element。为什么你不能在某个地方抓住这个Element? (我的意思是以任何方式保持对它的引用。)然后使用(#+) :: UI Element -> [UI Element] -> UI Element将其作为子项附加到另一个元素之后。如果你只是希望它重新出现在以前的位置,你只需将它作为一个孩子附加到它的父元素开始。这是你的想法,还是我误解了这个问题?