У меня есть виджет элемента со следующей подписью elementWidget :: MonadWidget t m => ElementInfo -> m (Event t ElementInfo)
, где Event t ()
отражает, если элемент был нажат.
Я создал новый виджет поверх elementWidget, как показано ниже
overviewWidget :: MonadWidget t m => [ElementInfo] -> m (Event t ElementInfo)
overviewWidget entries = divClass "entries" $ do
ev <- sequence $ elementWidget <$> entries
return $ leftmost ev
В случае возникновения события OverviewWidget я хочу отобразить другой виджет detailWidget :: ElementInfo -> m ()
. Я видел функции dyn
и widgetHold
.
Насколько я понимаю, мне нужно создать динамический файл, содержащий текущий видимый виджет, но как я могу зафиксировать событие click, если оно все еще находится внутри m(Event t a)
без рендеринга dom.