禁用PushRow取消选择

时间:2016-06-04 15:45:00

标签: ios swift eureka-forms deselect

这是关于图书馆的问题Eureka

我有一个PushRow,其中包含许多选项(名称)。我还将这些选项中的第一项设置为初始化时默认选择的项。

var names = [“Jake”,“Cassie”,“Rachel”,“Marco”,“Ax”,“Tobias”]

<<< PushRow<WindowStyle>("NamesRow") {
        $0.title = "Names"
        $0.options = names
        $0.value = names.first
    }

我运行应用程序,默认情况下会按预期选择 Jake 。如果我点按PushRow并重新选择 Jake ,现在取消选中。我认为这是预期的行为。但是如果我点击已经选择的选项行,我想避免取消选择。

如果选择了相同的选项,row回调闭包中的onChange属性将返回nil。我试着做一个零检查并提前退出,但它不起作用。在所有取消选择发生后,似乎onChange方法被触发。

.onChange { row in
    guard let selectedName = row.value else {
        return
    }
}

如何禁用取消选择?

2 个答案:

答案 0 :(得分:0)

不确定您是否找到了答案。

而且,虽然我自己没有这样做,但我想指出正确的方向。

他们已将其包含在Swift 3的更新中。

请在https://github.com/xmartlabs/Eureka/issues/261#issuecomment-255439929

找到相同的内容

仅供参考,

.onPresent { form, selectorController in
         selectorController.enableDeselection = false
}

答案 1 :(得分:0)

这个问题有点老了,但是如果有人还在寻找答案:
您可以执行以下操作:

<input name="test[0]" type="checkbox" value="1">
<input name="test[1]" type="checkbox" value="1">
<input name="test[2]" type="checkbox" value="1">
<input name="test[3]" type="checkbox" value="1">
<input name="test[4]" type="checkbox" value="1">
<input name="test[5]" type="checkbox" value="1">
<input name="test[6]" type="checkbox" value="1">
<input name="test[7]" type="checkbox" value="1">
<input id="realValue" value="123">