应用场景
主要应用场景为实现子表字段根据指定数字字段(预设行数)自动增加子表行,同时自动填写序号!
感谢【轻代码】开发者交流群的eden大神提供的代码块代码
操作方法
1、建立子表
编辑应用中创建子表,并建立序号字段和辅助行字段
注1:如在已存在的子表中处理则使用你自己的子表,只需要增加字段即可,注意需使用数字字段
注2:序号字段和辅助行字段可以根据需要选择隐藏字段,在编辑字段时勾选在表单中隐藏来增加界面美观度
2、建立行数字段
建立一个数字字段,用于输入行数,根据输入的行数自动增加子表行数(如果是做为自动执行项目可选择在右侧隐藏字段来增加表单美观度)
3、建立代码块
左侧高级字段中点击代码块,点击代码块设置右侧的代码编译与测试
4、输入代码
将代码复制如代码框中
let new_row = qf_field.{需要新增的行$$19A6C9DEC$$} //输入行数
let table = [];
for (let index = 0; index < new_row; index++) {
table.push({
'field_188381601':index+1, //生成序号,需替换子表ID
'field_188381600':'' //新增行,需替换子表ID
});
}
qf_output = {table}
注1:qf_field.{需要新增的行$$19A6C9DEC$$} 替换为一个你要用于输入行数的数字字段
注2: field_188381601 替换成你子表序号的字段ID (本文中末尾附获取字段ID的方式)
注3:field_188381600 替换成你子表的辅助行字段ID(仅用于新增行,所以最终输出的内容也会是空)
5、测试及编译
输入字段内容,例如输入7,然后点击测试,显示解析成功后,点击下一步
按照截图内容创建别名,注:别名中序号和辅助行的$.内容后面是字段ID,直接从左侧输出内容中复制即可,注意核对与前文获取的字段ID是否一致,填写完成后点击完成。
6、子表绑定代码块
首先,选中子表,右侧设置中的默认内容改成关联已有表格
接下来目标选择刚刚创建的代码块及代码块的table字段,并在右侧子字段关联中将子表字段与刚刚代码块解析的序号、辅助行字段进行关联。
到这里配置已经完成,可以试试看效果,点右上角保存按钮,然后点重新发布按钮。
返回应用列表也,点右上角的发起新的,在行数字段中输入几,你就会发现子表自动创建了几行,并且序号字段自动生成。
子表ID获取方法
1、创建代码块
输入下列代码,将代码中的qf_field.{子表自增行及自动标记序号$$22646B0DE$$} 替换为你自己的子表
let table = qf_field.{子表自增行及自动标记序号$$22646B0DE$$} //替换为你的子表
qf_output = {table}
3、测试内容
下一步,设置表格中随便添加一行内容,然后点确定
最后点击测试
复制留存字段ID,在需要的时候使用,其中存在内容1的就是序号字段(自己填写的的时候应该有留意到),另外一个null是空值的意思。例如我截图当中的序号字段的id是:field_214126967,辅助行字段的ID是field_214126968,保存好后可以点击上一步返回代码输入框,继续完成之前未完成的步骤。