关于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 相关文章推荐
在Javascript中为String对象添加trim,ltrim,rtrim方法
Sep 22 Javascript
如何用javascript去掉字符串里的所有空格
Feb 08 Javascript
jQuery .tmpl(), .template()学习资料小结
Jul 18 Javascript
javascript 正则表达式相关应介绍
Nov 27 Javascript
JavaScript设计模式之适配器模式介绍
Dec 28 Javascript
嵌入式iframe子页面与父页面js通信的方法
Jan 20 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
Aug 31 Javascript
jquery限定文本框只能输入数字(整数和小数)
Jan 08 Javascript
Three.js利用dat.GUI如何简化试验流程详解
Sep 26 Javascript
浅谈Angular HttpClient简单入门
May 04 Javascript
jQuery使用each遍历循环的方法
Sep 19 jQuery
如何使用less实现随机下雪动画详解
Jan 02 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数据库密码的找回的步骤
2011/01/12 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
js实现随机点名功能
2020/12/23 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Python脚本实现虾米网签到功能
2016/04/12 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python文件选择对话框的操作方法
2019/06/27 Python
Python3 assert断言实现原理解析
2020/03/02 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
Python使用OpenPyXL处理Excel表格
2020/07/02 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
2020/12/09 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
《鱼游到了纸上》教学反思
2014/02/20 职场文书
文明寝室标语
2014/06/13 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
2014年医生工作总结
2014/11/21 职场文书
维稳承诺书
2015/01/20 职场文书
Vue h函数的使用详解
2022/02/18 Vue.js
一文简单了解MySQL前缀索引
2022/04/03 MySQL