关于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 组件之旅(三):用 Ant 构建组件
Oct 28 Javascript
jQuery中使用了document和window哪些属性和方法小结
Sep 13 Javascript
关于图片按比例自适应缩放的js代码
Oct 30 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
Oct 14 Javascript
js 用CreateElement动态创建标签示例
Nov 20 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
Feb 17 Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 Javascript
bootstrap表格分页实例讲解
Dec 30 Javascript
详解基于webpack搭建react运行环境
Jun 01 Javascript
Angular2的管道Pipe的使用方法
Nov 07 Javascript
angular实现input输入监听的示例
Aug 31 Javascript
解决vue addRoutes不生效问题
Aug 04 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
apache php模块整合操作指南
2012/11/16 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
Smarty变量用法详解
2016/05/11 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
ajax 缓存 问题 requestheader
2010/08/01 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
2014/01/02 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
javaScript产生随机数的用法小结
2018/04/21 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
vue中如何添加百度统计代码
2020/12/19 Vue.js
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
python opencv之SURF算法示例
2018/02/24 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
中专生毕业个人鉴定
2014/02/26 职场文书
幼儿园评语大全
2014/04/17 职场文书
总经理任命书范本
2014/06/05 职场文书
春秋淹城导游词
2015/02/11 职场文书
学生会个人总结范文
2015/02/15 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
行政处罚决定书
2015/06/24 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
Oracle中日期的使用方法实例
2022/07/07 Oracle