我试着用三种方法来学习玻璃钢。
我希望生成包含用户输入的事件,并在每次单击按钮时触发。您可以在github上看到代码。
我试着用一个函数
submitEvents :: Element -> Element -> UI (Event String)
submitEvents button input = do val <- get value input
return $ val <$ (UI.click button)它后来被用到了像这样的do块中。
nameE <- submitEvents loginButton userNameInput
currName <- stepper "Ash" nameE
element currNameElem # sink text currName但在第一次单击之后,它就变成了空字符串。在此之前,它按照预期包含"Ash“值。我认为正在发生的是在生成事件流时提取输入值,而不是每次单击一次。我环顾四周的医生,并没有看到任何东西可以从m a -> Event () -> m (Event a),但我是相当新的玻璃钢,可能错过了什么。
发布于 2014-01-12 00:39:27
哦,我明白了。我正在从UI.valueChange构建我需要的东西。
submitEvents :: Element -> Element -> UI (Event String)
submitEvents button input = do currVal <- stepper "" $ UI.valueChange input
return $ currVal <@ (UI.click button)效果很好。但我不确定是否有一种更有效的方法,只在按钮被按下时才能查看它。我不回答这个问题,以防有人找到更好的答案。
https://stackoverflow.com/questions/21069522
复制相似问题