gpt4 book ai didi

haskell - 在 threepenny-gui 中组合事件和属性

转载 作者:行者123 更新时间:2023-12-01 12:34:25 26 4
gpt4 key购买 nike

我有一个 Event String我想要 sink进入文本区域。这工作正常,但现在我想将复选框选择的当前值组合到这个字符串。

首先,我通过使用 checkedChange 来做到这一点有效但有问题的复选框。如果checked值下沉到复选框,没有 checkedChange-Event,文本区域中显示的值未正确更新。

我可以用 get checked 读取复选框选择但后来我遇到了结合 Event String 的问题和 UI Bool (或 UI String,因为 bool 值将被转换为字符串)。

编辑:更准确地说,我想做类似的事情

bCombinedValue <- stepper "" eCombinedValue
element textArea # sink UI.text bCombinedValue

哪里eCombinedValue有原件Event Stringchecked 的当前值复选框的属性。

我本来可以

bCheck <- stepper False $ UI.checkedChange checkBox

但如果我有,这会失败

element checkBox # sink UI.checked bBool

其他地方(没有 UI.checkedChange)。

我可以使用 show <$> get UI.checked checkBox但是我必须结合Event StringUI String .

最佳答案

这是有意为之:UI.checkedChange 事件仅在用户 单击复选框时触发,但在以编程方式设置时不会。目的是 bBool 行为表示复选框的规范状态,UI.checkedChange 事件表示用户更改它的请求,可能会也可能不会被授予.这允许 bidirectional dataflow (see also)。诚然,Threepenny 目前还没有严格遵循这些想法。

在您的情况下,我建议将 UI.checkedChange 事件集成到 bBool 行为中以表示复选框的“规范”状态。如果这不起作用,只需使用 get UI.checkedReactive.Threepenny.unsafeMapIO 进行破解。

关于haskell - 在 threepenny-gui 中组合事件和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30994875/

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