elementUI中checekBox实现全选和反选以及实现在input中输入空格出现label分割
时间:2022-07-28
本文章向大家介绍elementUI中checekBox实现全选和反选以及实现在input中输入空格出现label分割,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
写在前面
为什么写这个呢?两个原因,一个是自己用到了,另一个是压根没人写,我不知道是太简单了懒得写还是很多人都忘记了,不过我看网上找demo的还挺多的,而且天下文章一般抄,都不对还在那不停的抄,我也是醉了,没一点办法,罢了罢了,自己写吧
官方DEMO
官方全选DEMO 全选这里就不实现了,很简单,官方给的有,实现反选 这里使用的还是官方的demo,只是添加了一个反选的函数,所以使用的时候先看官方demo源码
<el-checkbox :indeterminate="isIndeterminate" v-model="Reverseflg" @change="Reverse">反选</el-checkbox>
//反选
Reverse(){
//记录当前被选中的值给一个空数组
let idx;//记录当前是不是存在这个值
let currArr = []; //记录当前的选择的数组
for(let item of this.cities){
idx = this.checkedCities.includes(item) //如果不存在当前的值就将该值放到最新的空数组里
if(!idx){
currArr.push(item)
}
}
this.checkedCities = currArr
}
input 输入空格使用label分割
这个DEMO是我看的这篇文章,根据自己的需求改了一下,感谢这位同志的文章。 原文链接
<template>
<div>
<!-- <label class="labelname">{{labelname}}</label> -->
<div class="inputbox">
<div class="arrbox">
<div v-for="(item,index) in labelarr" :key="index" class="spanbox">
<span>{{item}}</span>
<i class="spanclose" @click="removeitem(index,item)"></i>
</div>
<input placeholder="敲击空格多条输入" size="5" v-model="currentval" @keyup.space="addlabel" class="input" type="text" />
</div>
</div>
<code>{{labelarr.join(",")}}</code>
<!-- 常用label展示 -->
<div></div>
</div>
</template>
<script>
export default {
name: 'enterlabel',
props: {
parentarr: {
type: Array,
default () {
return []
}
}
},
data() {
return {
currentval: '',
labelarr: []
}
},
watch: {
labelarr(old, cur) {
this.$emit('on-change', this.labelarr)
},
parentarr() {
if (this.parentarr.length > 0) {
this.labelarr = []
for (let i = 0; i < this.parentarr.length; i++) {
this.labelarr.push(this.parentarr[i])
}
} else {
this.labelarr = []
}
}
},
methods: {
// 移除标签
removeitem(index, item) {
this.labelarr.splice(index, 1)
},
// input回车加入labelarr中
addlabel() {
let count = this.labelarr.indexOf(this.currentval)
if (count === -1) {
this.labelarr.push(this.currentval)
}
this.currentval = ''
}
}
}
</script>
<style>
.inputbox {
background-color: white;
font-size: 12px;
border: 1px solid #dcdee2;
border-radius: 6px;
margin-bottom: 18px;
padding: 6px 1px 1px 6px;
text-align: left;
font-size: 0;
margin-bottom: 0;
}
.input {
font-size: 14px;
border: none;
box-shadow: none;
outline: none;
background-color: transparent;
padding: 0;
margin: 0;
width: auto !important;
max-width: inherit;
min-width: 80px;
vertical-align: top;
height: 30px;
color: #34495e;
margin: 2px;
line-height: 30px;
}
.arrbox {
border-radius: 6px;
margin-bottom: 10px;
padding: 6px 1px 1px 6px;
text-align: left;
font-size: 0;
}
.spanbox {
line-height: 30px;
margin: 2px;
padding: 0 10px;
background-color: #1abc9c;
color: white;
border-radius: 4px;
font-size: 13px;
cursor: pointer;
display: inline-block;
position: relative;
vertical-align: middle;
overflow: hidden;
transition: 0.25s linear;
}
.spanbox:hover {
padding: 0px 17px 0 3px;
}
.spanclose {
color: white;
padding: 0 10px 0 0;
cursor: pointer;
font-size: 12px;
position: absolute;
right: -3px;
text-align: right;
text-decoration: none;
top: 0;
width: 100%;
bottom: 0;
z-index: 2;
opacity: 0;
filter: "alpha(opacity=0)";
transition: opacity 0.25s linear;
font-style: normal;
}
.spanbox:hover .spanclose {
padding: 0 10px 5px 0;
opacity: 1;
-webkit-filter: none;
filter: none;
}
.spanclose:after {
content: "x";
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
line-height: 27px;
}
</style>
OVER
- 一个在web摸爬滚打3年仍然一无所获的老男人
- Spring Cloud构建微服务架构:服务消费(Feign)【Dalston版】
- React Native组件(四)TextInput组件解析
- struts2实现ajax校验的2种方法
- 单例对象
- Android+struts2+json方式模拟手机登录功能
- iOS 获取通讯录里边的电话号码AddressBook
- InvocationTargetException异常解析
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
- java基础多线程之共享数据
- Spring Boot自动化配置的利弊及解决之道
- Java四种引用解析以及在Android的应用
- java基础之泛型
- java基础之反射
- 第四章 正则表达式回溯法原理
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 发布更新|腾讯云 Serverless 产品动态 20200723
- Spring中异步注解@Async的使用、原理及使用时可能导致的问题
- Elasticsearch 聚合数据结果不精确,怎么破?
- Elasticsearch 预处理没有奇技淫巧,请先用好这一招!
- 时滞微分方程的matlab解法
- Zabbix Monitoring Logstash
- Join()和 List()的 6 种化学反应
- lettuce和hbase中对netty的使用你都了解吗?
- SAS-新规试行下诞生的程序
- AIOHTTP的实战(一)
- JMeter二次开发插件实例
- 「R」Obtain RNAseq Values for a Specific Gene in Xena Database
- 使用JMeter测试TCP协议
- SQL使用(一):如何使用SQL语句去查询第二高的值
- OpenCV加载图片显示对应类型(位深度)方法