laravel 8 修改默认的paginate分页样式 的方法可以很简单

发布时间:2021-02-22 12:11:48 最后更新:2021-02-24 00:35:29 浏览次数:3076

Larave 8 一改之前的bootstrap UI ,改为默认使用的是tailwind css.


我们的分页样式成了这样,如果,为了一个分页,放弃bootstrap,是不聪明的,或者重写分页也是不太合适的。

image.png


还是老套路,先去百度,看看有没有现成的轮子...

结果搜到了这个,

laravel8替换paginate默认样式

https://www.yuque.com/daixiansheng-arf2u/koh7a1/ervtps

但是,这个文章,是让我们直接修改,框架,内的paginate组件。似乎,能解决问题,但是失去了,laravel 所标的,“优雅”二字。


首先,我们看一下,vendor/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php 

88行,和95行

public static $defaultView = 'pagination::default';


public static $defaultSimpleView = 'pagination::simple-default';

以及下方,432行,和443行,


    public static function defaultView($view)

    {

        static::$defaultView = $view;

    }

  

    public static function defaultSimpleView($view)

    {

        static::$defaultSimpleView = $view;

    }


不知道,这个造轮子的人,是怎么发现到这里的,与我的逻辑顺序不太一样,哈哈。


我们,分页处,使用的是$data->links();


肯定与links这个方法有关,我们顺着找一下,


我们来到,vendor/laravel/framework/src/Illuminate/Pagination/Paginator.php

这个是分页组件的入口文件,可以这么理解了,找一下,links() 93行,

{!!$ data  -> links('pagination::bootstrap-4')!!}

 public function links($view = null, $data = [])

    {

        return $this->render($view, $data);

    }


别看什么都没有,重点是他可以,干什么,对传参,$view,


其它的,你不看看,你还真不知道,他传什么,怎么定义呢?


然后,去view,文件夹,看一下,原来,对应的是模板名,

pagination::simple-default  默认,tailwind样式

pagination::simple-bootstrap-4.blade.php    


好了,就写到这里,是不是很简单优雅,一般情况下,建议不要去修改框架本身的东西,这会给后期,升级带来更大的工作量。


$data -> links('pagination::bootstrap-4')



推荐文章

相关文章