【问题标题】:Autocomplete option on filter with EasyAdmin 3.3使用 EasyAdmin 3.3 过滤器的自动完成选项
【发布时间】:2021-10-03 06:07:00
【问题描述】:

我想知道在 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结束适配很多代码。

【问题讨论】:

    标签: jquery filter autocomplete easyadmin3


    【解决方案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);
       }
    }
    

    【讨论】:

    • 感谢您的回答!我设法用另一种方式找到了解决方案:configureCrud 中的->setSearchFields([])。我使用研究杆而不是过滤器。它对我的项目来说足够好。
    猜你喜欢
    • 2021-12-25
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多