关于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 相关文章推荐
firefox中JS读取XML文件
Dec 21 Javascript
extJs 下拉框联动实现代码
Apr 09 Javascript
收集的10个免费的jQuery相册
Feb 26 Javascript
详解JavaScript正则表达式中的global属性的使用
Jun 16 Javascript
jquery实现可旋转可拖拽的文字效果代码
Jan 27 Javascript
详解Vue2.0 事件派发与接收
Sep 05 Javascript
webpack构建react多页面应用详解
Sep 15 Javascript
vue移动端UI框架实现QQ侧边菜单组件
Mar 09 Javascript
Vue-不允许嵌套式的渲染方法
Sep 13 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
vue iview的菜单组件Mune 点击不高亮的解决方案
Nov 01 Javascript
详解vue 中 scoped 样式作用域的规则
Sep 14 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
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
javascript 面向对象编程基础:封装
2009/08/21 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
jQuery实现hover合成事件的方法
2015/08/06 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
js的新生代垃圾回收知识点总结
2019/08/22 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
Django自定义用户认证示例详解
2018/03/14 Python
Python对多属性的重复数据去重实例
2018/04/18 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
python中with用法讲解
2020/02/07 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
Python面向对象实现方法总结
2020/08/12 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
T3官网:头发造型工具
2019/12/26 全球购物
C#可否对内存进行直接的操作
2015/02/26 面试题
测绘工程专业个人自我评价
2013/12/01 职场文书
大学生两会精神学习心得体会
2014/03/10 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
一行Python命令实现批量加水印
2022/04/07 Python
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技