簡體   English   中英

Eureka-根據ActionSheetRow值隱藏行

[英]Eureka- Hiding row depending on ActionSheetRow value

我試圖根據之前在ActionSheetRow中選擇的值來隱藏一行。如果用戶選擇他們居住在寒冷的氣候中,我想隱藏或保持隱藏他們希望游泳的地方的ActionSheetRow。

 func testForm(){
        form +++ Section("Test")
            <<< TextRow("Your Name"){
                $0.placeholder = "Enter Your Name"
        }
            <<< ActionSheetRow<String>("placeOfLiving") {
                $0.title = "Continent"
                $0.selectorTitle = "Where do you live?"
                $0.options = ["Antartica","Australia","Africa", "Asia", "Europe", "North America", "South America"]

        }
            <<< ActionSheetRow<String>("swimming") {
                $0.hidden = Condition.function([])
                { form in
                    if let section = form.rowBy(tag: "placeOfLiving") as? ActionSheetRow<String> {
                        if section.value == "Antartica" {
                            return true
                        }
                    }
                    return false
                }
                $0.title = "Swimming"
                $0.selectorTitle = "Where do you like to swim?"
                $0.options = ["Pool","Beach","Lake", "River"]

        }

    }

如何檢查ActionSheetRow的值,然后隱藏下面的行? 我嘗試了如何進行此檢查的不同方法,但是找不到類似的情況。 歡迎任何反饋

您需要傳遞要在hidden function array檢查值的rowstag ,如下所示。

$0.hidden = Condition.function(["rowTag"])

因此,您的代碼將變為

$0.hidden = Condition.function(["placeOfLiving"])
   { form in
      if let row = form.rowBy(tag: "placeOfLiving") as? ActionSheetRow<String> {
          return section.value == "Antartica"
       }
       return false
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM