首页 > 解决方案 > Yii2 渲染不同 ID 的部分表单

问题描述

是否可以在 Yii2 应用程序中一个接一个地在屏幕上显示renderPartial,每次渲染中的相同字段都不同?_formids

为什么我需要这个?我在屏幕上动态生成了选项卡。当用户单击时,user/edit/5我不会重定向,而只是在屏幕上打开一个新选项卡,其中包含用于编辑用户的表单。当用户单击时,user/edit/16我会生成另一个具有相同表单但内部数据不同的选项卡,依此类推。这一切都有效,直到我到达一个date_of_birth我试图附加一个DatePicker. 这些选项卡使得有几个这样的字段具有 id ,user-date_of_birth因此DatePicker仅适用于其中的第一个字段,但不适用于其余字段。这就是为什么我正在寻找提示来生成相同的表单renderPartialids每次都不同。

标签: yii2

解决方案


尝试使用 render 代替 renderPartial 并在第二个参数中传递动态表单 ID。

return $this->render('_form', [
   'model' => $model,
   'formids' => 'user-'.$id
]);

在你的 _form.php

<?php $form = ActiveForm::begin([
    'id' => $formids
]); ?>

推荐阅读