1

Digestive-functors-blaze 创建 html like <input type="text" id="foo" name="foo" /><label for="foo">Bar</label>,但我没有找到任何标准方法,例如添加<br />到末尾。

我想出了这个:

br :: (Monad m) => HappstackForm m H.Html BlazeFormHtml ()
br = Common.label $ \_ -> do
  createFormHtml $ \cfg -> do
    H.br

我可以将它附加<++到我期望的位置,但我想知道这是否是预期的方式?

此外,这将如何扩展例如字段集。

4

1 回答 1

2

这是预期的方式,虽然br写成这样会更简洁:

br :: Monad m
   => Form m i e BlazeFormHtml ()
br = view $ createFormHtml $ const H.br

无论如何,我认为这个定义有点麻烦,所以我添加了一个viewHtml函数Text.Digestive.Forms.Html

viewHtml :: Monad m => a -> Form m i e (FormHtml a) ()
viewHtml = view . createFormHtml . const

这在消化功能器-0.1.0.1中可用。使用这个新的组合器,你应该能够使用<++ viewHtml H.br——我希望这会有所帮助。

于 2011-06-28T08:43:40.177 回答