Bootstrap+vue.js三分页按钮实现

自己根据自己理解编写的前端分页实现,仅供参考,如有雷同,纯属巧合,绝非抄袭

<!-- 分页信息 -->

<nav aria-label="Page navigation">
  <ul class="pagination">
  <!-- 分页信息展示 -->
  <li class="disabled"> <span aria-hidden="true">当前【{{ page.pageNum }}/{{ pages }}】页</span></li>
  
    <li v-if="page.pageNum > 1">
      <a href="#" aria-label="Previous" v-on:click="getlists(page.pageNum-1)">
        <span aria-hidden="true">上一页</span>
      </a>
    </li>
     <li v-else  class="disabled">
      <a href="#" aria-label="Previous">
        <span aria-hidden="true">上一页</span>
      </a>
    </li>
       <!-- 分页按钮1 -->
    <!-- 当前第一页,不可选 -->
  <li v-if="page.pageNum==1"  class="disabled">
      <a href="#" aria-label="Previous">
        <span aria-hidden="true">1</span>
      </a>
    </li>
    <!-- 当前非第一页 -->
       <li v-else>
<!-- 最后一页,总页数大于2 -->
      <a href="#" aria-label="Previous" v-if="page.pageNum == pages && pages>2" v-on:click="getlists(page.pageNum-2)">
        <span aria-hidden="true">{{page.pageNum-2}}</span>
      </a>
      <!-- 非最后一页,或最后一页为2 -->
      <a href="#" aria-label="Previous" v-else v-on:click="getlists(page.pageNum-1)">
        <span aria-hidden="true">{{page.pageNum-1}}</span>
      </a>
    </li>
    
     <!-- 分页按钮2 -->
     <!-- 当前页,不可选 (不是第一页,并且不是最后一页或者一共两页)-->
    <li v-if="page.pageNum>1 && ((pages>page.pageNum) || (pages==2))"  class="disabled">
      <a href="#" aria-label="Previous">
        <span aria-hidden="true">{{page.pageNum}}</span>
      </a>
    </li> 
    <!-- 当前第一页,总页数大于 1-->
    <li v-if="page.pageNum==1 && pages>1">
      <a href="#" aria-label="Previous" v-on:click="getlists(page.pageNum+1)">
        <span aria-hidden="true">{{page.pageNum+1}}</span>
      </a>
    </li>
    <!-- 当前最后一页,总页数大于 2-->
    <li  v-if="page.pageNum==pages && pages>2">
        <a href="#" aria-label="Previous" v-on:click="getlists(page.pageNum-1)">
        <span aria-hidden="true">{{page.pageNum-1}}</span>
      </a>
     </li>
    
<!--   分页按钮3 -->
<!-- 当前页为最后一页,不可选 -->
    <li v-if="pages == page.pageNum && pages>2">
      <a href="#" aria-label="Previous">
        <span aria-hidden="true">{{ page.pageNum }}</span>
      </a>
    </li>
    <!-- 当前页为第一页,共三页 -->
  <li v-if="page.pageNum==1 && pages>2">
      <a href="#" aria-label="Previous" v-on:click="getlists(page.pageNum+2)">
        <span aria-hidden="true">{{page.pageNum+2}}</span>
      </a>
    </li>
    <!-- 当前页不为第一页,不为最后一页 -->
    <li v-if="page.pageNum != 1 &&  pages != page.pageNum">
      <a href="#" aria-label="Previous" v-on:click="getlists(page.pageNum+1)">
        <span aria-hidden="true">{{page.pageNum+1}}</span>
      </a>
    </li>
 
    <li v-if="page.pageNum < pages">
      <a href="#" aria-label="Previous" v-on:click="getlists(page.pageNum+1)">
        <span aria-hidden="true">下一页</span>
      </a>
    </li>
     <li v-else  class="disabled">
      <a href="#" aria-label="Previous">
        <span aria-hidden="true">下一页</span>
      </a>
    </li>
  </ul>
</nav>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要确保已经引入了BootstrapVue.js,并且创建了一个Vue实例。 接下来,你可以使用Bootstrap的模态框组件来实现删除确认弹窗: ```html <!-- 删除按钮 --> <button class="btn btn-danger" @click="showDeleteModal=true">删除</button> <!-- 删除确认模态框 --> <div class="modal" tabindex="-1" role="dialog" v-show="showDeleteModal"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">确认删除?</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close" @click="showDeleteModal=false"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <p>确定要删除这个记录吗?</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal" @click="showDeleteModal=false">取消</button> <button type="button" class="btn btn-danger" @click="deleteRecord">删除</button> </div> </div> </div> </div> ``` 在Vue实例中,你需要定义一个`showDeleteModal`变量来控制模态框的显示和隐藏,并在删除按钮的点击事件中将其设置为`true`。同时,你还需要定义一个`deleteRecord`方法,在用户点击删除按钮后执行实际的删除操作,并将`showDeleteModal`设置为`false`以关闭模态框。 ```javascript new Vue({ el: '#app', data: { records: [ /* ... */ ], showDeleteModal: false, recordToDelete: null }, methods: { deleteRecord() { // 执行实际的删除操作 const index = this.records.indexOf(this.recordToDelete); if (index !== -1) { this.records.splice(index, 1); } // 关闭模态框 this.showDeleteModal = false; } } }); ``` 在删除按钮中,你需要将`recordToDelete`变量设置为当前要删除的记录,以便在`deleteRecord`方法中使用。 ```html <button class="btn btn-danger" @click="showDeleteModal=true; recordToDelete=record">删除</button> ``` 现在,当用户点击删除按钮时,将会弹出一个确认模态框,询问用户是否要删除该记录。如果用户点击了“删除”按钮,Vue实例中的`deleteRecord`方法将会被调用,执行实际的删除操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值