el-select编辑时已选择的项不允许删除(多选)
defaultSelect.js
目录
代码:
export default {
update(el, bindings) {
const [defaultValues, selectValue] = bindings.value
// 需要隐藏的标签索引
const indexs = []
selectValue.map((item, index) => {
defaultValues.map(defaultItem => {
if (item == defaultItem) {
indexs.push(index)
}
})
})
const dealStyle = function(tags) {
tags.forEach((el, index) => {
if (
indexs.includes(index) &&
![...el.classList].includes('select-tag-close-none')
) {
el.style.display = 'none' // close 图标隐藏掉
}
})
}
// 设置样式隐藏close icon
let tags = el.querySelectorAll('.el-tag__close')
if (tags.length === 0) {
// 初始化tags为空处理
setTimeout(() => {
let tagTemp = el.querySelectorAll('.el-tag__close')
dealStyle(tagTemp)
})
} else {
setTimeout(() => {
dealStyle(tags)
})
}
}
}
注册组件
main.js引入
使用:
energyListId: 已选择的id集合
<el-select v-model="energyListId" placeholder="请选择维修设备" multiple
filterable :clearable="false"
@change="changeEnergy" style="width: 90%;"
v-default-select="[energyListId,energyListId]"
@keydown.native.delete.capture.stop.prevent
>
<el-option
v-for="item in energyList"
:key="`p_${item.id}`"
:checked="item.checked"
:disabled="item.disabled"
:label="`${item.deviceName}(${item.deviceNo})`"
:value="item.id"
>
</el-option>
</el-select>
本文来自博客园,作者:小虾米吖~,转载请注明原文链接:https://www.cnblogs.com/LindaBlog/p/18272876
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2020-06-28 登录-登出(token判断,vuex登录验证及保持登录状态)
2019-06-28 ui