0

我想知道在 easyadmin 3.3 中是否有一个快速解决方案可以在过滤器上使用自动完成选项。它在表单上工作正常,但不适用于过滤器,它返回未定义的错误。

  public function configureFields(string $pageName): iterable
    {
        return [
            AssociationField::new('entity1')->autocomplete(true),
            AssociationField::new('entity2'),
}

     public function configureFilters(Filters $filters): Filters
        {
          return $filters
    
            ->add(EntityFilter::new('entity1')->setFormTypeOption('value_type_options', 
             ['multiple'=> true]))
    
            ->add(EntityFilter::new('entity2'))
    
            ;
        }

我没有找到很多关于这个的代码(这个版本)。我知道easyadmin 3.4可以解决这个问题,但是升级需要使用bootstrap 5和jquery结束来调整很多代码。

4

1 回答 1

1

过滤器并不是真正的自动完成功能,但您可以添加这样的 js 代码以使它们成为 select2 以便轻松搜索您需要的选项

$('#modal-filters').on('shown.bs.modal', e => {
   console.log(e);
   setTimeout(makeSelect2, 100);
});

function makeSelect2 () {
   if (document.getElementById('filters')) {
      $('.filter-field [data-widget=select2]').select2({
         theme: 'bootstrap',
         placeholder: 'Select',
         allowClear: true
      });
   } else {
      setTimeout(makeSelect2, 100);
   }
}
于 2021-08-06T20:42:46.887 回答