Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取Haskell Miso中的单选按钮值_Haskell_Radio Button_Haskell Miso - Fatal编程技术网

读取Haskell Miso中的单选按钮值

读取Haskell Miso中的单选按钮值,haskell,radio-button,haskell-miso,Haskell,Radio Button,Haskell Miso,我在miso示例应用程序中添加了单选按钮: ——| Haskell语言pragma {-#语言重载字符串} {-#语言记录通配符} --| Haskell模块声明 模块主要在哪里 --|味噌框架导入 进口味噌 输入味噌。字符串 将Language.Javascript.JSaddle.Warp作为JSaddle导入 导入控制.Monad.IO.Class(liftIO) --|应用程序模型的类型同义词 类型Model=Int --|应用程序事件的总和类型 数据操作 =NoOp |安装 推导(显示

我在miso示例应用程序中添加了单选按钮:

——| Haskell语言pragma
{-#语言重载字符串}
{-#语言记录通配符}
--| Haskell模块声明
模块主要在哪里
--|味噌框架导入
进口味噌
输入味噌。字符串
将Language.Javascript.JSaddle.Warp作为JSaddle导入
导入控制.Monad.IO.Class(liftIO)
--|应用程序模型的类型同义词
类型Model=Int
--|应用程序事件的总和类型
数据操作
=NoOp
|安装
推导(显示,等式)
--| miso应用的入口点
main::IO()
main=JSaddle.run 8080$startApp应用程序{..}
哪里
initialAction=NoOp——应用程序加载时要执行的初始操作
model=0——初始模型
update=updateModel——更新函数
视图=视图模型--视图函数
events=defaultEvents——默认委派事件
subs=[]--空订阅列表
mountPoint=Nothing——应用程序的装入点(没有任何内容默认为“body”)
--|更新模型,可选引入副作用
updateModel::Action->Model->Effect Action Model
updateModel NoOp m=noEff m
updateModel安装m=m>pure NoOp
--|从模型构建虚拟DOM
视图模型::模型->视图操作
viewModel x=div_u[][
标签[text“Editor/IDE”]
,br_[]
,标签[][文本“原子”]
,输入\[类型\“收音机”,名称\“编辑器”,值\“原子”]
,标签[][文本“Visual Studio代码”]
,输入\类型\无线电,名称\编辑器,值\ VSCode,禁用\真]
,br_[]
,文本(ms x)
,按钮[onClick Install][text“Install”]
]

我需要做哪些更改才能读取
updateModel Install m
功能中所选单选按钮的状态?

多亏了
dmjio
,我得到了一个解决方案。下面是一个例子:

newtype Model=Model
{u editorOrIde::editorOrIde
}推导(显示,等式)
数据编辑=
原子
|VisualStudioCode
|智能社区
|升华3
|莱克萨
推导(显示,等式)
makelents“模型
--|应用程序事件的总和类型
数据操作
=NoOp
|SetChecked EditorOrIde已检查
|安装
推导(显示,等式)
--| miso应用的入口点
main::IO()
main=JSaddle.run 8080$startApp应用程序{..}
哪里
initialAction=NoOp——应用程序加载时要执行的初始操作
模型=模型原子--初始模型
update=updateModel——更新函数
视图=视图模型--视图函数
events=defaultEvents——默认委派事件
subs=[]--空订阅列表
mountPoint=Nothing——应用程序的装入点(没有任何内容默认为“body”)
--|更新模型,可选引入副作用
updateModel::Action->Model->Effect Action Model
updateModel NoOp m=noEff m
updateModel(SetChecked EditorRide(Checked True))m=noEff$m&EditorRide.~EditorRide_
updateModel(SetChecked\uuum)m=noEff m
updateModel安装m=m>pure NoOp
哪里
runSetup=案例_editororidem of
原子->尼克松原子
_->putStrLn“尚未实施”
单击处理程序::操作->属性操作
clickHandler action=onWithOptions(defaultOptions{preventDefault=True})”单击“EmptyCoder$\()->action
--|从模型构建虚拟DOM
视图模型::模型->视图操作
viewModel m=形式[][
链接\[rel \“样式表”,href \”https://cdn.jsdelivr.net/npm/bulma@0.8.0/css/bulma.min.css“]
,h5_[class_“title is-5”][text“Easy Haskell Editor/IDE设置”]
,div_[class_“control”][
“编辑器/IDE”
,br_[]
,标签为[class_u“radio”][
输入[type_uu“radio”,name_u“editor”,选中[uuuu editorride m==Atom],一旦选中(SetChecked Atom)]
“原子”
]
,标签为[class_u“radio”][
输入(键入“radio”,名称为“editor”,选中(\u EditorRide m==VisualStudioCode),一旦选中(SetChecked VisualStudioCode)]
,“Visual Studio代码”
]
,标签为[class_u“radio”][
输入[type_uu“radio”,name_u“editor”,选中[uuu editorride m==intellijideacomunity],一旦选中(SetChecked intellijideacomunity),禁用[uutrue]
,“IntelliJ创意社区”
]
,标签为[class_u“radio”][
输入[type_uu“radio”,name_u“editor”,选中(EditorRide m==SublimiteText3),一旦选中(SetChecked SublimiteText3),禁用[uuTrue]
,“升华文本3”
]
,标签为[class_u“radio”][
输入[type_uu“radio”,name_u“editor”,选中(editorOrIde m==Leksah),一旦选中(SetChecked Leksah),禁用[uutrue]
“莱克萨”
]
]
,br_[]
,按钮\[单击处理程序安装,类\“按钮”][文本“安装”]
]

我不是前端或味噌专家。但您可能可以使用其中一个事件。如
onChecked
onClick
。只需要检查哪一个有效。。。