先上图看效果,大家感觉还错请参考功能怎么实现的!
从上图中不难看出,我们制定跳转到某页的功能是基于linkpager之上的扩展,这根我们之前实现的分页扩展明显不同,之前的明显就是重写了!当然,这都不重要,我们看看GoLinkPager的具体实现!名字起的有点lower,不重要!
1、在frontend\components目录新建GoLinkPager类文件
2、该类继承yii\widgets\LinkPager;,如下:
namespace frontend\components; use yii\widgets\LinkPager; use yii\helpers\Html; class GoLinkPager extends LinkPager { }
3、添加属性public $go = false; //是否包含跳转功能跳转 默认false
4、重写父类linkPager的renderPageButtons方法,具体直接参考下面完整版代码,可主要看go部分的代码实现。
<"form" style="float: left; color: #999; margin-left: 10px; font-size: 12px;"> <span class="text">共 {$pageCount} 页</span> <span class="text">到第</span> <input class="input" type="number" value="{$goPage}" min="1" max="{$pageCount}" aria-label="页码输入框" style="text-align: center; height: 25px; line-height: 20px; margin-top: 5px; width: 46px;"> <span class="text">页</span> <span class="btn go-page" role="button" tabindex="0" style="border: solid 1px #ccc; padding: 0px; height: 25px; width: 46px; line-height: 25px;">确定</span> </div> goHtml; $buttons[] = $goHtml; $pageLink = $this->pagination->createUrl(false); $goJs = <<<goJs $(".go-page").on("click", function () { var _this = $(this), _pageInput = _this.siblings("input"), goPage = _pageInput.val(), pageLink = "{$pageLink}"; pageLink = pageLink.replace("page=1", "page="+goPage); if (goPage >= 1 && goPage <= {$pageCount}) { window.location.href=pageLink; } else { _pageInput.focus(); } }); goJs; $this->view->registerJs($goJs); } return Html::tag('ul', implode("\n", $buttons), $this->options); } }
下面看具体使用:
<?= GoLinkPager::widget([ 'pagination' => $pages, 'go' => true, ]); ?>
可以看出,使用起来也是贼方便贼方便的!加一个属性go为true即可。
需要说明的是,完整版代码中go部分html js可根据自己需要自行修改整理!
以上内容是小编给大家介绍的yii2分页之实现跳转到具体某页的实例代码,希望对大家有所帮助!
标签:
yii2分页
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“yii2分页之实现跳转到具体某页的实例代码”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。