我正在使用找到here的Eureka Swift表单库。
我有一个文本字段,无论何时开始输入,我都希望隐藏表单的其他部分。我开始只是试图隐藏1个部分,但是当我开始在字段中输入时没有任何反应。我的代码如下:
form +++ Section("Device Search")
<<< IntRow()
{
$0.title = "Asset Tag"
$0.placeholder = "Enter Asset Tag #"
}
.onChange { row in
self.form.sectionBy(tag: "iOS Version")?.hidden = true
}
+++ Section("iOS Version")
for version in countArray
{
form.last! <<< CheckRow()
{
$0.title = version
$0.tag = $0.title
}
}
另外,有没有办法使用IntRow但只删除行的格式化程序?
答案 0 :(得分:2)
关于您的第二个问题 有没有办法使用IntRow但只删除行的格式化程序?
在此$0.formatter = nil
$0.placeholder = "Enter Asset Tag #"
您的第一个问题,如何在section
中隐藏EurekaForm
,首先您的部分初始化不是您认为的,我会解释自己,您认为您正在使用标记初始化您的部分,但在部分定义中,没有任何init方法使用tag
作为参数,因此要获取正确的部分,您需要更改此部分的初始化
+++ Section("iOS Version"){ //"iOS Version" is actually the header text"
$0.tag = "test" //this is the tag
}
之后您需要修改此
.onChange { row in
self.form.sectionBy(tag: "iOS Version")?.hidden = true
}
由此
.onChange { row in
if let section = self.form.sectionBy(tag: "test")
{
section.hidden = true
section.evaluateHidden() //you are missing calling this method
}
}
之后,在IntRow
form +++ Section("Device Search")
<<< IntRow()
{
$0.title = "Asset Tag"
$0.placeholder = "Enter Asset Tag #"
$0.formatter = nil
}
.onChange { row in
if let section = self.form.sectionBy(tag: "test")
{
section.hidden = true
section.evaluateHidden()
}
}
+++ Section("iOS Version"){
$0.tag = "test"
}
for version in countArray
{
form.last! <<< CheckRow()
{
$0.title = version
$0.tag = $0.title
}
}