关于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 捕获窗口关闭事件
Jul 26 Javascript
javascript之典型高阶函数应用介绍
Jan 10 Javascript
jquery 页面滚动到指定DIV实现代码
Sep 25 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
Oct 08 Javascript
浅谈原型对象的常用开发模式
Jul 22 Javascript
iview给radio按钮组件加点击事件的实例
Sep 30 Javascript
vue组件实现弹出框点击显示隐藏效果
Oct 26 Javascript
JavaScript常用数学函数用法示例
May 14 Javascript
js取小数点后两位四种方法
Jan 18 Javascript
vue全局自定义指令-元素拖拽的实现代码
Apr 14 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
May 05 Javascript
layui2.0使用table+laypage实现真分页
Jul 27 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
用header 发送cookie的php代码
2007/03/16 PHP
php disk_free_space 返回目录可用空间
2010/05/10 PHP
PHP按行读取、处理较大CSV文件的代码实例
2014/04/09 PHP
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
jquery 学习之二 属性 文本与值(text,val)
2010/11/25 Javascript
js分页代码分享
2014/04/28 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
jquery+html5烂漫爱心表白动画代码分享
2015/08/24 Javascript
nodejs修复ipa处理过的png图片
2016/02/17 NodeJs
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
node.js到底要不要加分号浅析
2018/07/11 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
Python合并多个装饰器小技巧
2015/04/28 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
CSS3 简写animation
2012/05/10 HTML / CSS
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
法学专业毕业生自荐信
2014/06/11 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
长城导游词
2015/01/30 职场文书
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python