在 Eureka 中隐藏一行取决于它是否包含一个值

Hiding a row in Eureka depending if it contains a value or not

我用 Eureka 制作了一个表单,想知道如何根据它是否包含值来隐藏行或部分:

form
            +++ Section("Car")
            <<< TextRow() {
                [=10=].title = car?.name
            }
            +++ Section("Car color")
            <<< TextRow() {
                [=10=].title = car?.color
            }
            +++ Section("Car description")
            <<< TextRow() {
                [=10=].title = car?.description
                [=10=].cell.textLabel?.numberOfLines = 0
            }
            +++ Section("Car brand")
            <<< TextRow() {
                [=10=].title = car?.brandName
            }
          +++ Section("Comment")
            <<< TextRow() {
            [=10=].tag = "Comment"
               [=10=].title = car?.internComment
                [=10=].cell.textLabel?.numberOfLines = 0
                [=10=].hidden = Condition.function([])
                { form in
                    if (form.rowBy(tag: "Comment") as? TextRow) != nil {
                       return false
                    }
                    return true
                }
        }

我用

试过了
[=11=].hidden = Condition.function([])
                { form in
                    if (form.rowBy(tag: "Comment") as? TextRow) != nil {
                       return false
                    }
                    return true
                }

但不管它是否包含值,它都会隐藏它。

您正在检查行本身,检查它的

[=10=].hidden = Condition.function([]) { form in
   if (form.rowBy(tag: "Comment") as? TextRow)?.value != nil {
      return false
   }
   return true
}

或更短

[=11=].hidden = Condition.function([]) { form in
    return !((form.rowBy(tag: "Comment") as? TextRow)?.value ?? false)
}