动态生成 Eureka Form Rows

Posted

技术标签:

【中文标题】动态生成 Eureka Form Rows【英文标题】:Dynamically generate Eureka Form Rows 【发布时间】:2018-06-28 23:57:04 【问题描述】:

有没有办法从 json/api 响应构建 eureka 表单。到目前为止,我已经能够将 json 转换为返回对象。但是在创建 for 循环以生成表单时遇到问题。

form
+++ Section("API Returns")

for values in JSONObject

    <<< TextRow() 
        $0.tag = values.key
        $0.title = values.name
        $0.value = values.value
    

【问题讨论】:

【参考方案1】:

您需要指明 TextRow 将插入到循环中的哪个部分。

let section = Section("API Returns")
form +++ section

for values in JSONObject

    section <<< TextRow() 
        $0.tag = values.key
        $0.title = values.name
        $0.value = values.value
    

假设您的“API Returns”部分是表单的最后一部分,您也可以使用它。

for values in JSONObject 

    guard let section = self.form.last else 
        return
    

    section <<< TextRow() 
        $0.tag = values.key
        $0.title = values.name
        $0.value = values.value
    

【讨论】:

感谢您的回复,这不会为 API 返回的每个新值创建一个新部分吗? 不,它不会,你没有在循环中使用 +++ 部分。【参考方案2】:

你可以用这个:

for values in JSONObject 

    guard let section = self.form.last else 
        return
    

    section <<< TextRow() 
        $0.tag = values.key
        $0.title = values.name
        $0.value = values.value
    

form
+++ section()...

【讨论】:

以上是关于动态生成 Eureka Form Rows的主要内容,如果未能解决你的问题,请参考以下文章

动态生成form表单

解决Layui动态生成select下拉选择框不显示问题

vue动态生成表单组件vue-generate-form

Devexpress Ribbon 动态生成菜单

动态生成的表单如何用 el-form 校验,你知道吗?

如何根据 HTML FORM 中定义的变量动态生成 MYSQL UPDATE 语句