600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > vue如何实现单选多选反选全选全不选的而功能(code)

vue如何实现单选多选反选全选全不选的而功能(code)

时间:2022-07-15 11:16:38

相关推荐

vue如何实现单选多选反选全选全不选的而功能(code)

web前端|js教程

javascript,vue.js

web前端-js教程

本篇文章给大家带来的内容是关于vue如何实现单选多选反选全选全不选的而功能(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

易语言dll万能调试器源码下载,vscode学生信息管理系统,移动硬盘 装ubuntu,tomcat 提高加载速度,sqlite异常库,南山网页设计,如何搭建阿里云服务器,微信 时间选择器插件,golang前端页面框架,鄙视搞爬虫,php单引号与双引号区别,云哥seo,安卓开发springboot,java 音乐网站,网页特效 标题,花瓣模板,万网解析后台,loading 页面,荆棘鸟投票管理系统 源码,通讯录管理程序源程序lzw

单选

手机微论坛源码,ubuntu打开应用卡住,设置tomcat最大线程数,爬虫获取页面cookie,开源网盘系统源码 php,seo艺术3.0lzw

当我们用v-for渲染一组数据的时候,我们可以带上index以便区分他们我们这里利用这个index来简单地实现单选

在线艺术签名网站源码,Ubuntu指定efi分区,调出tomcat控制台,centos 布置爬虫,小型广告系统PHP源码,seo.收费lzw

{{item}}

首选定义一个selectedNum,当我们点击item时,便把这个selectedNum更改为我们所点击的item的index,然后每个item上加入判断selectedNum是不是等于自己,如果等于则选中。

相当于每个人有一个编号,鼠标点击生成了一个中奖号码,然后每个人自己去判断这个中奖号码是不是自己,如果是自己,哇,不得了~

代码如下:

data() { return {selectedNum:"",radioList: ["某个元素", "某个元素", "某个元素", "某个元素", "某个元素"], }; },methods: { //单选 select(i) {this.selectedNum = i; }, }

多选

多选的原理和单选一样,只不过这次我们要维护的是一个数组,不是单个的selectedNum

{{item}}

同样是利用index~同样是选中奖的人,不过这次中奖的人很多,我们点击一次就有一个人中奖,如果这个人的index出现在我们的中奖名单checkbox上,那他就是天选之人了~

写成代码就是点击一次push一次index到checkbox中,如果这个checkbox中有这个index了那就不要它了,实现了点一次选中再点一次取消。

//多选 check(i){var idx = this.checkbox.indexOf(i);//如果已经选中了,那就取消选中,如果没有,则选中if(idx>-1){ this.checkbox.splice(idx,1);}else{ this.checkbox.push(i);} },

接下来我们写一下全选,全取消,反选的实现。

//选中全部checkAll(){ //中奖的人就这么多,而且他们的index都是0到length-1的(v-for渲染),一顿数组基本操作即可 var len = this.checkboxList.length; this.checkbox = []; for(var i=0;i<len;i++){this.checkbox.push(i); } },//清空选择clearCheckbox(){ this.checkbox = []; },//反选checkOpposite(){ var len = this.checkboxList.length; var idx; for(var i=0;i-1){ this.checkbox.splice(idx,1);}else{ this.checkbox.push(i);} } }

很多时候 全选 和 全部取消 只要一个按钮实现,这样我们就需要来判断它是不是已经全部选满了。在computed中自动计算是否全选。

computed: { //判断是否全部选中 isCheckAll(){if(this.checkbox.length==this.checkboxList.length){ return true;}return false; } },

然后我们只需要给这个双功能按钮绑定一个这样的功能即可

letsGetThisFuckingCheck(){//如果全选,就是清空选择;如果不是,那就全都安排一下if(this.isCheckAll){ this.clearCheckbox();}else{ this.checkAll()} },

完整代码

单选框

{{item}}

多选框

{{item}}

export default { components: {}, data() { return {selectedNum:"",radioList: ["某个元素", "某个元素", "某个元素", "某个元素", "某个元素"],checkbox:[],checkboxList:["某个元素", "某个元素", "某个元素", "某个元素", "某个元素","某个元素", "某个元素"], }; }, computed: { //判断是否全部选中 isCheckAll(){if(this.checkbox.length==this.checkboxList.length){ return true;}return false; } }, methods: { //单选 select(i) {this.selectedNum = i; }, //多选 check(i){var idx = this.checkbox.indexOf(i);//如果已经选中了,那就取消选中,如果没有,则选中if(idx>-1){ this.checkbox.splice(idx,1);}else{ this.checkbox.push(i);} }, letsGetThisFuckingCheck(){if(this.isCheckAll){ this.clearCheckbox();}else{ this.checkAll()} }, //选中全部 checkAll(){var len = this.checkboxList.length;this.checkbox = [];for(var i=0;i<len;i++){ this.checkbox.push(i);} }, //清空选择 clearCheckbox(){this.checkbox = []; }, //反选 checkOpposite(){console.log(1)var len = this.checkboxList.length;var idx;for(var i=0;i-1){this.checkbox.splice(idx,1); }else{this.checkbox.push(i); }} } }};li{ display: inline-block; font-size: 16px; padding: 5px; background-color: #e6e6e6; margin: 5px 10px; cursor: pointer;}.active { border: 2px solid red;}

利用vue实现全选反选功能

基于jQuery实现复选框的全选 全不选 反选功能_jquery

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。