首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用reactive-banana-wx进行UI输入

使用reactive-banana-wx进行UI输入
EN

Stack Overflow用户
提问于 2011-07-01 14:52:22
回答 2查看 309关注 0票数 6

在使用反应式香蕉时,如何获取ui元素的内容?event0返回Event ()类型的事件,该事件具有单位类型,而不是控件的类型。event1接受类型为Event w (a -> IO ())的事件,但命令的类型为Event w (IO ())。mapAccumE和mapAccumB将纯函数作为参数,因此get text foo不能与它们一起使用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-02 01:40:23

基本上,您希望使用函数而不是数据。如果你在想“如何创建一个在框中包含当前文本的行为”,你并不是这样想的,而是编写一些函数,将当前文本作为参数,并在必要时传递给它。假设您想要在按下按钮时打印文本框的内容。然后,您将执行以下操作:

代码语言:javascript
复制
eButton :: NetworkDescription (Event ())
eButton = event0 button command

network = do
  pressButton <- eButton
  reactimate $ (\() -> get text foo >>= print) <$> pressButton

如果需要将输入输入到行为中,可以类似地使用类型为Behavior (String -> a) (或您需要的任何类型)的函数,然后只需在reactimate调用点传递字符串。

票数 4
EN

Stack Overflow用户

发布于 2011-07-04 22:31:25

( reactive-banana演讲的作者。很抱歉回复得太晚了,我甚至没有想过在这里被问到问题的可能性。:-) )

今天我发现我在库中忽略了一个非常重要的特性:以Behavior的形式获取UI元素的内容。尴尬!:-D

John描述了当前的解决方法,但下一个版本的反应式香蕉将包括缺少的功能。

编辑:我已经发布了反应式香蕉version 0.4,它现在以函数的形式包含了功能

代码语言:javascript
复制
fromPoll :: IO a -> NetworkDescription (Behavior a)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6544599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档