egg(80)--egg之文章修改后返回到当前分页,模糊搜索

文章修改后返回到当前分页

middleware

app/middleware/adminauth.js

获取上一页的url

ctx.state.prevPage = ctx.request.headers['referer'];  //获取上一页的url

view

app/view/admin/nav/edit.html
在edit的from中把上一页的url提交给后台
<input type="hidden" name="prevPage" value="<%= prevPage %>">

controller

app/controller/admin/nav.js
      async doEdit() {
        var _id=this.ctx.request.body._id;       
        var prevPage = this.ctx.request.body.prevPage;
        await this.ctx.model.Nav.updateOne({"_id":_id},this.ctx.request.body)
         await this.success(prevPage,'编辑导航成功');     

      } 

效果

clipboard.png

模糊搜索

view

app/view/admin/goods/index.html
                        <form role="form" class="form-inline" method="get" action="/admin/goods">
                            <div class="form-group">
                                <label for="name">输入关键词</label>
                                <input type="text" class="form-control" value="<%=keyword%>" id="name" name="keyword" placeholder="请输入名称">
                            </div>
                
                            <div class="form-group">
                                <button type="submit" class="btn btn-default">开始搜索</button>
                            </div>
                        </form>

controller

app/controller/admin/goods.js
  async index() { 
    var page=this.ctx.request.query.page || 1;
    var keyword=this.ctx.request.query.keyword;
    //注意
    var json={};
    if(keyword){
       json=Object.assign({"title":{$regex:new RegExp(keyword)}});
    }
    var pageSize=3;
    //获取当前数据表的总数量
    var totalNum=await this.ctx.model.Goods.find(json).count();
    var goodsResult=await this.ctx.model.Goods.find(json).skip((page-1)*pageSize).limit(pageSize);
     await this.ctx.render('admin/goods/index',{
       list:goodsResult,
       totalPages:Math.ceil(totalNum/pageSize),
       page:page,
       keyword:keyword
     });
 }

效果

clipboard.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值