0

我正在使用很棒的列表行为,现在我需要阻止列表默认加载数据。

  • 页面加载时列表应为空 - 不显示任何记录
  • 当用户在搜索输入中输入搜索条件时,将显示与搜索词匹配的记录

是否有任何设置告诉列表控制器不要预先加载数据?

如果需要覆盖控制器索引方法,检查是否已输入搜索词并返回并清空列表的最佳做法是什么?

4

1 回答 1

0

没有设置告诉列表控制器在第一次 GET 时不加载数据

我认为你必须选择:

  1. 您可以创建一个全新的小部件,但要让它像 listWidget 一样需要做很多工作,但小部件很容易创建,因为它们与组件大致相同。我认为这是最好的方法,即使您的小部件不像 october 的默认小部件那样通用。
  2. 您可以覆盖控制器方法 listExtendQueryBefore()
    public function listExtendQueryBefore($query, $def = null)
    {

        if(Request::isMethod('GET')) // Make it yours here i show nothing on a GET
         {
            return  $query->where('id','=',0); 
            //filter on an id that doesn't exist or some thing else        
         }   

    }

小部件的输入如下所示

array (
   'fullToolbarSearch' => //this is the key
        array (
           'term' => 'greg','bee',
        ),
)

如您所见,方法 2 很简单,但这只是一种解决方法

于 2016-03-05T00:38:43.087 回答