三便士:如何获取文本



在threenpenny -gui中使用'set text',给定一个元素和一个字符串,您可以设置该元素的文本:

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 ()

然而,'get text'的返回类型不是我所期望的。我如何从一个元素恢复原来的字符串?

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

ReadAttrWriteAttr是根据ReadWriteAttr实现的,以避免过载。正如类型所示,getWriteAttrsetReadAttr没有任何有用的操作。

最新更新