在这里问这个问题是因为文档中还没有涉及到这个问题,他们会监控并回答这个标签。我正在使用Eureka 来构建一个多值表单。这是我的代码:
+++ MultivaluedSection(multivaluedOptions: [.Reorder, .Insert, .Delete],
header: "Options",
footer: "footer") {
$0.addButtonProvider = { section in
return ButtonRow(){
$0.title = "Add New Option"
}
}
$0.multivaluedRowToInsertAt = { index in
print(self.form.values())
return NameRow() {
$0.placeholder = "Your option"
}
}
$0 <<< NameRow() {
$0.placeholder = "Your option"
}
}
现在我想在最后提取NameRows中的所有值。可以有任意数量的行(基于用户输入)。这是我尝试的:
但结果是[ : ]
。
如何获得所有值?
4条答案
按热度按时间fnvucqvd1#
对于有类似问题的任何人:
form.values()
为空,因为没有为行指定标记。若要从form
获取值,请为行指定标记,然后您将获得一个值字典,其中的键作为这些标记。对于这种情况现在,对于用户插入的任意数量的行,返回的值将为
["tag_1" : "value 1", "tag 2 : "value 2" ....]
。P.S.:使用
index
in标签,因为不允许重复标签,并且index
值对于不同的行是不同的。gajydyqb2#
这是一种简单得多的方法
首先,向整个MultivaluedSection对象添加一个标记。
然后你可以通过下式得到
igsr9ssn3#
values()格式返回Dictionary,而Dictionary没有订单信息。
因此,您无法从form.values()中获取重新排序的值。
我得到的orderd数据如下:
(表单.allRows返回Array,其中包含订单信息。)
谢谢
x0fgdtte4#
如here所述,只需将标记赋予每一行;