关于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 相关文章推荐
jQuery.extend 函数的详细用法
Jun 27 Javascript
javascript中使用正则计算中文长度的例子
Apr 29 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
May 12 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
Oct 16 Javascript
js跨域请求数据的3种常用的方法
Dec 01 Javascript
React入门教程之Hello World以及环境搭建详解
Jul 11 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
Nov 22 Javascript
通过 JS 判断页面是否有滚动条的实现方法
Apr 05 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
Jul 26 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
Sep 26 Javascript
vue内置组件component--通过is属性动态渲染组件操作
Jul 28 Javascript
原生js实现俄罗斯方块
Oct 20 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字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
webpack file-loader和url-loader的区别
2019/01/15 Javascript
详解JS取出两个数组中的不同或相同元素
2019/03/20 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
Python实现抓取网页并且解析的实例
2014/09/20 Python
Tensorflow之Saver的用法详解
2018/04/23 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
python序列类型种类详解
2020/02/26 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
野兽派官方旗舰店:THE BEAST 野兽派
2016/08/05 全球购物
十佳大学生事迹材料
2014/01/29 职场文书
体育教师个人的自我评价
2014/02/16 职场文书
《窗前的气球》教学反思
2014/04/07 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
无房证明范本
2014/09/17 职场文书
银行自荐信范文
2015/03/25 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫