vue.js实现的全选与全不选功能示例【基于elementui】

 更新时间:2018年12月03日 11:27:37   作者:风雪夜过客  
这篇文章主要介绍了vue.js实现的全选与全不选功能,结合实例形式分析了vue.js基于elementui实现全选与全不选功能的相关页面渲染、初始化数据及功能函数等相关操作技巧,需要的朋友可以参考下

本文实例讲述了vue.js实现的全选与全不选功能。分享给大家供大家参考,具体如下:

elementui是有checkbox组件,不过问题在于checkbox组件内只能嵌套简单的字符串,如果要嵌入标签怎么办?

首先渲染页面:

<el-checkbox v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
<tbody v-for="item in orderData">
 <tr>
  <td class="order-num" colspan="7">
   <el-checkbox v-model="item.checkModel" @change="handleCheckItemChange" style="vertical-align:top;margin-top:20px;"></el-checkbox>
   <div class="num">
    <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >订单号:{{item.orderNumber}}</a>
    <p>商户单号:{{item.shopNumber}}</p>
   </div>
  </td>
  <td class="order-action" colspan="2">
   <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >查看详情</a>-<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >备注</a>-<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >加星</a>
  </td>
 </tr>
 <tr>
  <td>
   <div class="pic">
    <img :src=item.orderPic alt="">
   </div>
   <div class="info">
    <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >{{item.name}}</a>
    <p>{{item.size}}</p>
    <p>商品来源:{{item.from}}</p>
   </div>
  </td>
  <td>{{item.number}}</td>
  <td>{{item.price}}</td>
  <td>-</td>
  <td>{{item.company}}</td>
  <td>
   <p>{{item.address}}</p>
   <p>({{item.phone}})</p>
  </td>
  <td>{{item.date}}<br />{{item.time}}</td>
  <td>{{item.state}}</td>
  <td>{{item.pay}}<br /><span v-if="item.postCost">(运费:{{item.postCost}})</span></td>
 </tr>
</tbody>

初始化data数据:

checkAll:false,
checkedAllShops:[],
checkItemData:[],
orderData:[
 {
  checkModel:false,
  orderNumber:'2017081618322542542',
  shopNumber:'2017081618322542542',
  orderPic:'../../../../static/images/realtimeprofile01.png',
  name:'【商城】贴轻松穴位艾灸贴',
  size:'5贴*盒',
  from:'本店商品',
  number:'10',
  price:'200.00',
  company:'蒂花之秀',
  address:'童话镇',
  phone:'12345678910',
  date:'2018-1-12',
  time:'09:30:00',
  state:'订单关闭',
  pay:'400.00',
  postCost:'10'
 },{
  checkModel:false,
  orderNumber:'2017081618322542542',
  shopNumber:'2017081618322542542',
  orderPic:'../../../../static/images/realtimeprofile01.png',
  name:'【商城】贴轻松穴位艾灸贴',
  size:'5贴*盒',
  from:'本店商品',
  number:'10',
  price:'200.00',
  company:'蒂花之秀',
  address:'童话镇',
  phone:'12345678910',
  date:'2018-1-12',
  time:'09:30:00',
  state:'订单关闭',
  pay:'400.00',
  postCost:'10.00'
 }
]

相关方法:

handleCheckAllChange(val){
 this.orderData.map((item,i)=>{
  item.checkModel = val;
 })
},
handleCheckItemChange(val){
 for(let i = 0,l = this.orderData.length;i < l;i ++){
  if(this.orderData[i].checkModel !== val){
   this.checkAll = false;
   return;
  }
 }
 this.checkAll = val;
}

css代码就不贴出来了,不好看,哈哈

感兴趣的朋友还可以使用本站如下在线工具测试运行效果:

在线HTML/CSS/JavaScript前端代码调试运行工具:
http://tools.jb51.net/code/WebCodeRun

在线HTML/CSS/JavaScript代码运行工具:
http://tools.jb51.net/code/HtmlJsRun

希望本文所述对大家vue.js程序设计有所帮助。

相关文章

  • Vue父子组件通信全面详细介绍

    Vue父子组件通信全面详细介绍

    这篇文章主要介绍了React中父子组件通信详解,在父组件中,为子组件添加属性数据,即可实现父组件向子组件通信,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-10-10
  • vue之bus总线简单使用讲解

    vue之bus总线简单使用讲解

    这篇文章主要介绍了vue之bus总线简单使用讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 使用vue指令解决文本的溢出提示的问题

    使用vue指令解决文本的溢出提示的问题

    在我们项目开发中,经常会有超长文本溢出提示,未溢出则不提示的场景,接下来我们将一步步用vue指令实现这个需求,文中有详细的代码讲解,感兴趣的朋友跟着小编一起来看看吧
    2023-08-08
  • 手摸手教你实现Vue3 Reactivity

    手摸手教你实现Vue3 Reactivity

    本文主要介绍了手摸手教你实现Vue3 Reactivity,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • vue实现input文本框只能输入0-99的正整数问题

    vue实现input文本框只能输入0-99的正整数问题

    这篇文章主要介绍了vue实现input文本框只能输入0-99的正整数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 基于vue实现分页组件的示例代码

    基于vue实现分页组件的示例代码

    分页组件是一种用户界面元素,用于在长列表或数据集中分割内容,分页组件是每个开发人员必须掌握的一个组件,广泛应用在各个场所,用以用户方便阅读等,本文就给大家介绍一下如何基于vue写出的分页组件,需要的朋友可以参考下
    2023-08-08
  • Vue引入高德地图并触发实现多个标点的示例详解

    Vue引入高德地图并触发实现多个标点的示例详解

    这篇文章主要介绍了Vue引入高德地图并触发实现多个标点,主要是在public下的index.html中引入地图,引入组件设置宽高100%,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 详解项目升级到vue-cli3的正确姿势

    详解项目升级到vue-cli3的正确姿势

    这篇文章主要介绍了详解项目升级到vue-cli3的正确姿势,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 带你了解前端的几种包管理器(npm/pnpm等)

    带你了解前端的几种包管理器(npm/pnpm等)

    随着前端工程化的应用越来越广,插件和包的管理也逐渐衍生出很多的管理器,常见的几种包管理器如:npm、cnpm、yarn、pnpm,那你知道这些管理器之间有哪些区别吗?我们一起来逐个认识下它们
    2023-04-04
  • vue cli使用融云实现聊天功能的实例代码

    vue cli使用融云实现聊天功能的实例代码

    最近小编接了一个新项目,项目需求要实现一个聊天功能,今天小编通过实例代码给大家介绍vue cli使用融云实现聊天功能的方法,感兴趣的朋友跟随小编一起看看吧
    2019-04-04

最新评论