欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Vue 多选下拉框+下拉框列表中增加标签

Vue 多选下拉框+下拉框列表中增加标签

2024/10/24 15:14:40 来源:https://blog.csdn.net/weixin_44443380/article/details/140543871  浏览:    关键词:Vue 多选下拉框+下拉框列表中增加标签

1、效果图

2、代码部分

(1)代码

<el-select class="common-dialog-multiple multipleSelectStyle" @change="clusterListChange" v-model="form.clusterId" placeholder="请先选择" multiple filterable default-first-option :popper-append-to-body="false"><el-option v-for="item in clusterList" :key="item.id" :label="item.name" :value="item.id"><el-checkbox @change="clickTenantBox(item.id)" :value="form.clusterId.includes(item.id)" :label="item.name"><span class="checkbox-label">{{ item.name }}</span><span class="checkbox-tag" v-if="item.alias"><el-tag :type="item.alias=='远程'?'success':''">{{ item.alias }}</el-tag></span></el-checkbox></el-option>
</el-select>

(2)数据定义

clusterList: [{id:1,name: '集群1',alias: '远程',},{id:2,name: '集群2',alias: '别名',},{id:3,name: '集群3',},{id:4,name: '集群4',alias: '远程',},{id:5,name: '集群5',alias: '别名',},{id:6,name: '集群6',},{id:7,name: '集群7',alias: '远程',},{id:8,name: '集群8',alias: '别名',},{id:9,name: '集群9',},
],

(3)方法

clickTenantBox(val) {let values = this.form.clusterId;if (values.includes(val)) {this.form.clusterId = values.filter(n => n !== val);} else {values.push(val);this.form.clusterId = values;}
},
clusterListChange(){console.log(this.form.clusterId)
},

(4)样式

.multipleSelectStyle {.el-select__tags {flex-wrap: unset;overflow: auto;margin-left: 2px;}
}.multipleSelectStyle ::-webkit-scrollbar {display: none;
}.common-dialog-multiple{.el-tag--small{height: 18px;}.el-select-dropdown__list{padding: 5px 13px 5px 8px;}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-left: 12px;padding-right: 0;border-radius: 2px;height: 32px;line-height: 32px;margin-bottom: 4px;.el-checkbox{width: 100%;.el-checkbox__input.is-checked+.el-checkbox__label{color: #19BBFF !important;font-weight: 600;}.el-checkbox__input{margin-top: -10px;.el-checkbox__inner{border: 1px solid #B0C0C5;}}.el-checkbox__label {width: calc(100% - 15px);height: 32px;.checkbox-label{display: inline-block;//width: calc(100% - 40px);max-width:calc(100% - 60px);overflow: hidden;text-overflow: ellipsis;padding-top: 7px;}.checkbox-tag{float: right;margin-right: 10px;padding-top: 6px;.el-tag {border-radius: 4px;background: #F8B02D14;border: 1px solid #F8B02D99;color: #FFA901;height: 18px;padding: 0 7px;line-height: 18px;font-size: 12px;}.el-tag.el-tag--success {background: #22CE7614;border: 1px solid #22CE7699;color: #2DC86D;}}}}}.el-select-dropdown.is-multiple .el-select-dropdown__item:last-child{margin-bottom: 4px;}.el-select-dropdown__item.hover, .el-select-dropdown__item:hover {background-color: #ecf8fb;color: #19bbff;.el-checkbox{.el-checkbox__input .el-checkbox__inner{border-color: #19BBFF !important;}.el-checkbox__label{color: #19BBFF !important;}}}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected {color: #18bbff;background: #fff;.el-checkbox{.el-checkbox__input .el-checkbox__inner{border-color: #19BBFF !important;}.el-checkbox__label{color: #19BBFF !important;font-weight: 600;}}}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{content: none;}
}.el-checkbox__inner::after{transition: transform .0s ease-in .0s,-webkit-transform .0s ease-in .0s !important;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com