av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

關(guān)于vue的列表圖片選中打鉤操作

瀏覽:3日期:2022-11-26 13:22:29

首先 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;}

接著是內(nèi)容部分,這里變量命名比較亂,但是效果都是通過變量控制的,主要思路是點(diǎn)擊后,將一個(gè)id傳入一個(gè)臨時(shí)數(shù)組,再遍歷這個(gè)臨時(shí)數(shù)組,拿數(shù)組中的值與當(dāng)前值對(duì)比,如果對(duì)比成功,那么就讓選中的checkbox顯示出來

相對(duì)的,如果想要提交,那么只需要將臨時(shí)數(shù)組傳進(jìn)去就好了

<div 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='http://www.4tl426be.cn/bcjs/@/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) } },}// 如果存在數(shù)組中,那么進(jìn)行刪除操作, 如果不存在,則放入數(shù)組中

補(bǔ)充知識(shí):vue列表獲取勾選的內(nèi)容并打印

先將勾選的內(nèi)容通過彈出層顯示出來

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>

然后進(jìn)行打印

printData: function() { this.$print(this.$refs.print);},

說明:

vue框架使用是element

打印使用的插件地址:https://github.com/xyl66/vuePlugs_printjs

在main.js中進(jìn)行注冊(cè)

import Print from ’@/plugs/print’

Vue.use(Print);

以上這篇關(guān)于vue的列表圖片選中打鉤操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 国产综合久久久 | 黄色三级在线观看 | 久久久精品国产sm调教网站 | 欧美激情久久久 | 亚洲欧美一区二区三区在线 | 91精品国产日韩91久久久久久 | 日韩手机在线视频 | 黄色片视频免费 | 日韩一级av毛片 | 免费视频成人 | 欧美日韩国产成人 | 三级在线播放 | 国产精品免费看 | 国产999视频 | 日本少妇做爰全过程毛片 | 四虎网站| 91福利在线视频 | 中文字幕综合网 | 亚洲欧美日韩国产精品 | 一区二区三区网站 | 可以免费看的av | 日韩一级av毛片 | 美女黄色一级片 | 瑟瑟视频在线观看 | 成人aaaa| 成年人黄色大片 | 久久久久久久久久一区二区三区 | 黄色国产精品 | 日韩怡红院 | 国产在线黄色 | 国产精品欧美日韩 | 99久久精品国产一区二区三区 | 操操影院 | 91青青草 | 黄a视频 | 真实的国产乱xxxx在线 | 亚洲天堂一区二区三区 | 久久精品一二三 | 91在线成人 | 日韩一区中文字幕 | 欧美超碰在线 |