symfony - 如何将变量从表单子传递给父symfony?
问题描述
我正面临 Symfony3 表单的问题。
我定义了这样的第一种形式:
class MyForm1Type extends AbstractType {
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', MyForm2Type::class, [
'startDate' => 6,
])
;
}
}
第二种形式:
class MyForm2Type extends AbstractType
{
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'startDate' => null,
'attr' => [
'startDate' => ?????,
],
]);
}
/**
* @return string|null
*/
public function getParent()
{
return DateType::class;
}
/**
* @return string|null
*/
public function getBlockPrefix()
{
return 'datePicker';
}
我会在 configureOptions 函数中获取 fieldOption 值并将其添加到 attr 数组中,这可能吗?我需要在我的表单主题中使用这个值来使用动态 startDate 参数来实例化 datePicker,如下所示:
$('.input-datepicker').datepicker({
startDate: "-{{ attr.startDate }}y",
});
提前致谢 :)
解决方案
解决方案很简单:D
我们只需在第一种形式中添加 attr 属性,如下所示:
$builder
->add('name', MyForm2Type::class, [
'attr' => [ startDate => 6 ],
])
;
推荐阅读
- javascript - Divs被切断了?
- c++ - 混合 Rcpp 模块和 Rcpp::export
- java - TabLayout 迁移到 AndroidX
- python - 如何在python中的zip文件夹中创建文件?
- c++ - 如何在 Cython 中链接嵌套的 C++ 库
- javascript - 使用 laravel 中的 db 数据更改 tui-calender 中的数据
- reactjs - ReactJS D3 - 如何放大 D3 地理世界地图
- python - 如何在python中水平堆叠两个矩阵
- java - 使用 Maps Elevation API
- php - 在特定列上使用条件验证 Laravel