Symfony5.3 的新功能:表单字段排序

2021-05-25  by  

正文

Symfony表单是按照字段定义的顺序来渲染页面的。这导致在复杂表单中动态添加/删除字段时,可能会引起问题(例如,通过表单事件添加的字段最终可能会在提交表单按钮后呈现出来)。

这就是为什么在Symfony 5.3中可以对表单字段进行排序以控制它们呈现的顺序。为此,请使用新priority选项,该选项是默认值为的正整数或负整数或0。具有较高优先级的字段将首先呈现(具有相同优先级的字段将以其原始顺序呈现):

// src/Form/Type/TaskType.php
namespace App\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;

class TaskType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options): void
    {
        $builder
            ->add('task', TextType::class, ['priority' => 150])
            ->add('dueDate', DateType::class)
            ->add('save', SubmitType::class, [
                'priority' => $options['show_first'] ? 1000 : -1000,
            ])
        ;
    }
}

原文地址

New in Symfony 5.3: Form Field Sorting

找到错别字了?本文档有什么问题么?分叉并编辑 它 !

CJayhe

谢谢您的赞赏~

使用微信扫描二维码完成支付