热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

tablevue禁用全选_实例详解vue2.0在table中实现全选和反选

本文主要介绍了vue2.0在table中实现全选和反选的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看

本文主要介绍了vue2.0在table中实现全选和反选的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

demo的 git 地址:ShoppingCart

页面效果:

具体怎么实现的呢?

使用localstorage来存储页面信息 中已经有写项目是怎么创建的所以小颖在这里就不重复了,其实只是在上篇文章的基础上稍微做了改动:

App.vue文件

export default {

name: 'app'

}

#app {

font-family: 'Avenir', Helvetica, Arial, sans-serif;

-webkit-font-smoothing: antialiased;

-moz-osx-font-smoothing: grayscale;

color: #2c3e50;

}

li,

dl,

dt,

dd,

h1,

h2,

h3,

h4,

h5,

h6,

hgroup,

p,

blockquote,

figure,

form,

fieldset,

input,

legend,

pre,

abbr,

button {

margin: 0;

padding: 0;

}

ul,

ol {

list-style: none;

margin: 0;

padding: 0;

}

*,

*::before,

*::after {

box-sizing: border-box;

}

p,

p,

dl,

dt,

dd {

margin: 0;

padding: 0;

}

a {

color: inherit;

text-decoration: none;

}

.checkout-title {

position: relative;

margin-bottom: 41px;

text-align: center;

}

.checkout-title::before {

position: absolute;

top: 50%;

left: 0;

content: "";

width: 100%;

height: 1px;

background: #ccc;

z-index: 0;

}

.checkout-title span {

position: relative;

padding: 0 1em;

background-color: #fff;

font-family: "moderat", sans-serif;

font-weight: bold;

font-size: 20px;

color: #605F5F;

z-index: 1;

}

home.vue文件

购物车

{{list.product_inf}}{{list.product_price}}¥{{list.product_price}}{{list.product_quantity}}{{list.total_amount}}编辑

修改

删除

合计:{{allProductTotal}}

结账

import userAddress from './address'

export default {

components: {

userAddress

},

data() {

return {

table_list: [{

'id': 0,

'product_inf': '商品信息',

'product_price': '商品金额',

'product_quantity': '商品数量',

'total_amount': '总金额'

}, {

'id': '1',

'product_inf': '女士银手链',

'product_price': 120,

'product_quantity': 200,

'total_amount': 24000

}, {

'id': '2',

'product_inf': '女士银手镯',

'product_price': 380,

'product_quantity': 200,

'total_amount': 72000

}, {

'id': '3',

'product_inf': '女士银耳环',

'product_price': 100,

'product_quantity': 200,

'total_amount': 20000

}],

checked: false,

allProductTotal: null,

checkList: ['1', '3']

}

},

methods: {

checkedAll: function() {

var _this = this;

console.log(_this.checkList);

if (_this.checked) { //实现反选

_this.checkList = [];

} else { //实现全选

_this.checkList = [];

_this.table_list.forEach(function(item, index) {

if (index > 0) {

_this.checkList.push(item.id);

}

});

}

}

},

watch: { //深度 watcher

'checkList': {

handler: function(val, oldVal) {

if (val.length === this.table_list.length - 1) {

this.checked = true;

} else {

this.checked = false;

}

},

deep: true

}

}

}

.container {

padding: 69px 0 54px 0;

}

table {

border-collapse: collapse;

border-color: transparent;

text-align: center;

}

.product_table,

.product_table tbody {

width: 100%

}

.product_table tr:first-child {

background: #ece6e6;

color: #e66280;

font-size: 20px;

}

.product_table td {

border: 1px solid #f3e8e8;

height: 62px;

line-height: 62px;

}

.product_table a.update:link,

.product_table a.update:visited,

.product_table a.update:hover,

.product_table a.update:active {

color: #1CE24A;

}

.product_table a.delete:link,

.product_table a.delete:visited,

.product_table a.delete:hover,

.product_table a.delete:active {

color: #ffa700;

}

.price_total_bottom {

font-size: 20px;

padding: 20px 10px;

}

.price_total_ms {

text-align: right;

}

.price_total_bottom .price_total_ms label {

margin-right: 100px;

}

.price_total_bottom .price_total_ms a {

cursor: default;

text-align: center;

display: inline-block;

font-size: 20px;

color: #fff;

font-weight: bold;

width: 220px;

height: 54px;

line-height: 54px;

border: 0;

background-color: #f71455;

}

相关推荐:



推荐阅读
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • 小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
  • 在移动端开发中,多点触控手势是提升用户体验的重要手段。然而,目前只有iOS浏览器原生支持手势事件,其他设备需要通过touchstart、touchmove和touchend等基础事件进行自定义实现。本文将详细介绍如何在Vue项目中实现多点触控手势。 ... [详细]
  • 在项目需要国际化处理时,即支持多种语言切换的功能,通常有两种方案:单个包和多个包。本文将重点讨论单个包的实现方法。 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文详细介绍了如何利用 Bootstrap Table 实现数据展示与操作,包括数据加载、表格配置及前后端交互等关键步骤。 ... [详细]
  • 高效的JavaScript异步资源加载解决方案
    本文探讨了如何通过异步加载技术处理网页中大型第三方插件的加载问题,避免将大文件打包进主JS文件中导致的加载时间过长,介绍了实现异步加载的具体方法及其优化。 ... [详细]
  • 本文探讨了如何高效地计算数组中和为2的幂的偶对数量,提供了从基础到优化的方法。 ... [详细]
  • 本文详细记录了腾讯ABS云平台的一次前端开发岗位面试经历,包括面试过程中遇到的JavaScript相关问题、Vue.js等框架的深入探讨以及算法挑战等内容。 ... [详细]
  • Vue 实战经验与常见问题总结
    本文总结了 Vue 开发中的一些常见问题和解决方案,包括全局组件的注册、头像显示、背景图路径问题以及 Sass 公用样式的使用方法。 ... [详细]
  • 本打算教一步步实现koa-router,因为要解释的太多了,所以先简化成mini版本,从实现部分功能到阅读源码,希望能让你好理解一些。希望你之前有读过koa源码,没有的话,给你链接 ... [详细]
  • 图数据库与传统数仓实现联邦查询使用CYPHER实现从关系数据库过滤时间序列指标一、MySQL得到研报实体在Oracle中的唯一ID二、Oracle中过滤时间序列数据三、CYPHER ... [详细]
author-avatar
小石子Sandra
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有