Set easyadmin_autocomplete Выберите по умолчанию значение Null. Symfony - PullRequest
1 голос
/ 30 июня 2019

Хотелось бы узнать, есть ли способ поставить null значение по по умолчанию в easyadmin_autocomplete select .

Первый элемент в списке выбран и заполнен данными из базы данных, но мне нужно значение null по умолчанию и устанавливается автоматически. Цель - это первая точка результата для пустой (выберите одну ...).

Вы знаете, как это сделать?

Можете ли вы придумать способ сочетания опций, определенных ниже?

#easy_admin.yml
Product:
      class: App\Entity\Product
      controller: App\Controller\ProductController
      new:
        fields:
          - { property: 'category', label: 'Category', type: 'easyadmin_autocomplete', type_options: { class: 'App\Entity\Category' } }
 }

В этом примере у одного выбора есть placeholder с текстом «Любой» (Нингуно). Мне нужно знать, почему они работают с ними по-другому. form_pic Эти параметры определены для полей attr -> type_options из yml:

  1. действие
  2. allow_extra_fields
  3. allow_file_upload
  4. атр
  5. auto_initialize
  6. block_name
  7. by_reference
  8. класс
  9. Ограничения
  10. csrf_field_name
  11. csrf_message
  12. csrf_token_id
  13. csrf_token_manager
  14. данные
  15. data_class
  16. отключен
  17. empty_data
  18. error_bubbling
  19. error_mapping
  20. extra_fields_message
  21. помощь
  22. help_attr
  23. inherit_data
  24. invalid_message
  25. invalid_message_parameters
  26. метка
  27. label_attr
  28. label_format
  29. отображается
  30. способ
  31. множественный
  32. post_max_size_message
  33. property_path
  34. обязательны для заполнения
  35. translation_domain
  36. отделка
  37. upload_max_size_message
  38. validation_groups

1 Ответ

0 голосов
/ 01 июля 2019

Нет способа установить значение, подобное заполнителю, для easyadmin_autocomplete.Обычный способ выбора типа - использовать параметр placeholder, как описано в документации symfony .Но easyadmin_autocomplete не расширяет этот тип и является автономным типом.Вы не можете использовать тип выбора или тип сущности с опцией заполнителя.Единственное, что нужно для типа easyadmin_autocomplete, - это если есть много сущностей, и оно будет замедлять работу приложения, если все загружены на страницу.

Лучше всего, чтобы вы могли расширить easyadmin_autocomplete.Поскольку easyadmin_autocomplete использует EntityType, вы можете добавить опцию для заполнителя в методе configureOptions в расширенном типе.Это делегирует опцию EntityType, но даже тогда она не отображается в html из-за javascript select2, который также необходимо изменить.

Если это необходимо, я рекомендую способрасширить тип, добавить опцию, а также добавить пользовательский javascript в easyadmin, который будет обрабатывать новый тип, и добавить опцию-заполнитель.Вы можете посмотреть документацию select2 о том, как установить заполнитель.

Но если вы можете использовать объект или тип выбора для своего выбора, это предпочтительное решение.

...