4

使用 Threepenny-gui 中的“设置文本”,您可以给定一个元素和一个字符串,设置该元素的文本:

Prelude Graphics.UI.Threepenny.Core> :t set
set :: ReadWriteAttr x i o -> i -> UI x -> UI x
Prelude Graphics.UI.Threepenny.Core> :t set text
set text :: String -> UI Element -> UI Element

get 函数的存在使我认为应该可以获取给定元素的文本。

Prelude Graphics.UI.Threepenny.Core> :t get
get :: ReadWriteAttr x i o -> x -> UI o
Prelude Graphics.UI.Threepenny.Core> :t text
text :: WriteAttr Element String
Prelude Graphics.UI.Threepenny.Core> :t get text
get text :: Element -> UI ()

但是,“获取文本”的返回类型不是我所期望的。如何从元素中恢复原始字符串?

4

1 回答 1

1

如果我没记错的话,问题在于元素的文本值包括其所有子元素作为 HTML 代码。我建议value改用它,它适用于输入字段。

ReadAttrWriteAttrReadWriteAttr为了避免重载而实现的。正如类型所表明的那样,get虽然对 没有做任何有用的事情WriteAttr,也set对 没有做任何有用的事情ReadAttr

于 2014-08-20T14:22:41.850 回答