关于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继承方式实例
Oct 29 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
Apr 05 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
Sep 14 Javascript
利用webqq协议使用python登录qq发消息源码参考
Apr 08 Javascript
JS网页播放声音实现代码兼容各种浏览器
Sep 22 Javascript
深入浅析AngularJS和DataModel
Feb 16 Javascript
Javascript+CSS3实现进度条效果
Oct 28 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
Jun 15 Javascript
基于openlayers4实现点的扩散效果
Aug 17 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
Jan 18 jQuery
WebGL three.js学习笔记之阴影与实现物体的动画效果
Apr 25 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
Jan 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 裁剪图片成固定大小代码方法
2009/09/09 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
使用PHP函数scandir排除特定目录
2014/06/12 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】
2017/04/19 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
JS实现身份证输入框的输入效果
2017/08/21 Javascript
JavaScript+H5实现微信摇一摇功能
2018/05/23 Javascript
express 项目分层实践详解
2018/12/10 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
python+selenium+autoit实现文件上传功能
2017/08/23 Python
python中闭包Closure函数作为返回值的方法示例
2017/12/17 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
python爬取淘宝商品销量信息
2018/11/16 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
爱情检讨书大全
2014/01/21 职场文书
优秀体育委员自荐书
2014/01/31 职场文书
个性与发展自我评价
2014/02/11 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
就业协议书范本
2014/10/08 职场文书