效果

~~~
实现代码
$list_sf = [
44 => '广东省',
33 => '浙江省'
];
// 使用ZBuilder快速创建表单
return ZBuilder::make('form')
->setPageTitle('新增') // 设置页面标题
->addFormItems([ // 批量添加表单项
['dataTable', 'content', '定义', [
'SFDM' => ['type' => 'select', 'title' => '省份', 'options' => $list_sf],
'ZL' => '增量',
]],
])
->fetch();
~~~
目前仅支持“下拉菜单”和“单行文本”。
提交后,服务器接受的数据格式为:
["content"] => array(2) {["SFDM"] => array(2) {[0] => string(2) "33"[1] => string(2) "44"}["ZL"] => array(2) {[0] => string(7) "测试1"[1] => string(7) "测试2"}}
一般是这样处理:
~~~$post = $this->request->post();if (isset($post['content'])) {// 有新增行,需要循环处理数据foreach ($post['content']['SFDM'] as $key => $SFDM) {// 这里处理的是省份// 在这里可对应获取到增量列的数据// $post['content']['ZL'][$key];}} else {// 没有新增任何行}~~~
具体的数据需要自己提取处理了。
设置默认值
一般在编辑页面时会用到
~~~$list_sf = [44 => '广东省',33 => '浙江省'];$data = [['SFDM' => 44, 'ZL' => 123],['SFDM' => 44, 'ZL' => 456],['SFDM' => 33, 'ZL' => 888],];// 使用ZBuilder快速创建表单return ZBuilder::make('form')->setPageTitle('新增') // 设置页面标题->addFormItems([ // 批量添加表单项['dataTable', 'content', '定义', '这是提示文字', ['SFDM' => ['type' => 'select', 'title' => '省份', 'options' => $list_sf],'ZL' => '增量',], $data],])->fetch();~~~
效果:
