关于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 相关文章推荐
返回顶部按钮响应滚动且动态显示与隐藏
Oct 14 Javascript
JS动态添加Table的TR,TD实现方法
Jan 28 Javascript
使用AngularJS实现可伸缩的页面切换的方法
Jun 19 Javascript
js实现简易的单数字随机抽奖(0-9)
Mar 19 Javascript
JavaScrip调试技巧之断点调试
Oct 22 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
Nov 23 Javascript
js中用cssText设置css样式的简单方法
Sep 19 Javascript
微信小程序 scroll-view隐藏滚动条详解
Jan 16 Javascript
浅谈js中同名函数和同名变量的执行问题
Feb 12 Javascript
JavaScript中var的重要性实例分析
Jul 09 Javascript
详解为什么Vue中不要用index作为key(diff算法)
Apr 04 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
Jan 28 Javascript
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中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
python使用Tesseract库识别验证
2018/03/21 Python
python:print格式化输出到文件的实例
2018/05/14 Python
python 列表降维的实例讲解
2018/06/28 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
ML神器:sklearn的快速使用及入门
2019/07/11 Python
简单了解python反射机制的一些知识
2019/07/13 Python
python写程序统计词频的方法
2019/07/29 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
银行毕业实习自我鉴定
2013/09/19 职场文书
50岁生日感言
2014/01/23 职场文书
政协委员个人总结
2015/03/03 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
酒店厨房管理制度
2015/08/06 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
七个非常实用的Python工具包总结
2021/06/15 Python
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL