关于vue的列表图片选中打钩操作


Posted in Javascript onSeptember 09, 2020

首先 css,美化checkbox样式,这一段代码拿过去可以直接用

label {
 font-size: 25px;
 cursor: pointer;
 position: absolute;
 top: -10px;
 right: 0px;
 z-index: 150;
}
 
label i {
 font-size: 15px;
 font-style: normal;
 display: inline-block;
 width: 18px;
 border-radius: 15px;
 height: 18px;
 text-align: center;
 line-height: 18px;
 color: #fff;
 vertical-align: middle;
 margin: -2px 2px 1px 0px;
 border: #53c7f0 1px solid;
}
 
input[type="checkbox"],
input[type="radio"] {
 display: none;
 outline: none;
}
 
input[type="radio"]+i {
 border-radius: 7px;
}
 
input[type="checkbox"]:checked+i,
input[type="radio"]:checked+i {
 background: #fff;
 color: #53c7f0;
}

接着是内容部分,这里变量命名比较乱,但是效果都是通过变量控制的,主要思路是点击后,将一个id传入一个临时数组,再遍历这个临时数组,拿数组中的值与当前值对比,如果对比成功,那么就让选中的checkbox显示出来

相对的,如果想要提交,那么只需要将临时数组传进去就好了

<div class="t-recommed-r" v-for="(item,index) in list" :key="index">
  <p><span></span> {{ item.name }} <span></span></p>
  <ul>
   <li v-for="(val,key) in item.data" :key="key" @click="checkTab(val.id)">
   <label v-for="(v, k) in checkedList" :key="k" v-show="val.id === v">
    <input type="checkbox" :checked="val.id === v">
    <i>✓</i>
   </label>
   <a><img src="@/assets/images/null.png"><em>{{ val.name }}</em></a>
   </li>
  </ul>
  </div>

最后一步,js部分

data () {
 return {
  checkedList: [],
  list: []
 }
 },
methods: {
 checkTab (id) {
  let index = this.checkedList.indexOf(id)
  if (index === -1) {
  this.checkedList.push(id)
  } else {
  this.checkedList.splice(index, 1)
  }
 },
}
// 如果存在数组中,那么进行删除操作, 如果不存在,则放入数组中

补充知识:vue列表获取勾选的内容并打印

先将勾选的内容通过弹出层显示出来

showPrintData: function() {
 var id = this.checkedList[0].id;
 axios.post(this.$api.contentGet, { id: id }).then(res => {
 this.contentTxt = res.body.txt;
 this.dialogFormVisible=true;
 });
},

contentTxt: "",

dialogFormVisible: false,

<el-dialog :visible.sync="dialogFormVisible">
 <div ref="print" v-html="contentTxt">
 {{contentTxt}}
 </div>
 <div slot="footer" class="dialog-footer">
 <el-button type="primary" @click="printData()">打印</el-button>
 </div>
</el-dialog>

然后进行打印

printData: function() {
 this.$print(this.$refs.print);
},

说明:

vue框架使用是element

打印使用的插件地址:https://github.com/xyl66/vuePlugs_printjs

在main.js中进行注册

import Print from '@/plugs/print'

Vue.use(Print);

以上这篇关于vue的列表图片选中打钩操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
七个很有意思的PHP函数
May 12 Javascript
js实现select组件的选择输入过滤代码
Oct 14 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
Mar 25 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
Mar 01 Javascript
如何消除inline-block属性带来的标签间间隙
Mar 31 Javascript
详解JavaScript常量定义
Jan 03 Javascript
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
react-native使用react-navigation进行页面跳转导航的示例
Sep 07 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
Feb 27 jQuery
微信小程序开发中var that =this的用法详解
Jan 18 Javascript
javascript-hashchange事件和历史状态管理实例分析
Apr 18 Javascript
vue.js实现点击图标放大离开时缩小的代码
Jan 27 Vue.js
JavaScript日期库date-fn.js使用方法解析
Sep 09 #Javascript
js实现简单抽奖功能
Nov 24 #Javascript
js实现贪吃蛇游戏 canvas绘制地图
Sep 09 #Javascript
Vue路由 重定向和别名的区别说明
Sep 09 #Javascript
JavaScript常用8种数组去重代码实例
Sep 09 #Javascript
Vue项目配置跨域访问和代理proxy设置方式
Sep 08 #Javascript
如何使用jQuery操作Cookies方法解析
Sep 08 #jQuery
You might like
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
JavaScript实现带标题的图片轮播特效
2015/05/20 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
简单实现Bootstrap标签页
2020/08/09 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
微信小程序实现留言板(Storage)
2018/11/02 Javascript
详解node和ES6的模块导出与导入
2020/02/19 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
[45:52]2018DOTA2亚洲邀请赛 4.1小组赛 A组加赛 LGD vs Liquid
2018/04/02 DOTA
python通过索引遍历列表的方法
2015/05/04 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
python语言的优势是什么
2020/06/17 Python
python中如何使用虚拟环境
2020/10/14 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
OSPF有什么优点?为什么OSPF比RIP收敛快?
2013/02/13 面试题
机械设计及其自动化求职推荐信
2014/02/17 职场文书
酒店管理毕业生自荐信
2014/05/25 职场文书
整脏治乱工作简报
2015/07/21 职场文书
员工旷工检讨书
2015/08/15 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
关于JavaScript轮播图的实现
2021/11/20 Javascript