您的位置:首页 > 科技 > IT业 > 网络规划设计师视频_推广运营是什么_seo常用的工具_推广引流

网络规划设计师视频_推广运营是什么_seo常用的工具_推广引流

2024/12/23 15:40:21 来源:https://blog.csdn.net/jl____/article/details/144529237  浏览:    关键词:网络规划设计师视频_推广运营是什么_seo常用的工具_推广引流
网络规划设计师视频_推广运营是什么_seo常用的工具_推广引流
  • 需求
    • <el-select>多选时,需要设置默认值,且默认值不可删除,但手动勾选的值可以删除。
  • 实现原理
    • 在el-select框中隐藏默认值的el-tag后面的叉
    • 在option中置灰默认值的选项使其不可被操作
  • 代码实现
    • 新建一个自定义指令,并在<el-select>中使用
<el-select v-model="value" v-default-select="disabledIds" multiple><el-option v-for="item in options" :disabled="disabledIds.includes(item.dictType)" :label="item.dictName" :value="item.dictType":key="item.dictType"></el-option>
</el-select><script>
export default {data() {return {value: ['1','2'],disabledIds: ['1','2'],options: [{ dictType: '1', dictName: '张三' },{ dictType: '2', dictName: '李四' },{ dictType: '3', dictName: '王五' },{ dictType: '4', dictName: '赵六' },],};},directives: {//注册一个局部的自定义指令 v-default-selectdefaultSelect: {// bindings是传过来的参数内容inserted: function (el, bindings) {const defaultValues = bindings.valueconst dealStyle = function (tags) {// 因为不可删除原有值,所以原有值的index是不会变的,也就是将前n个tag的close隐藏掉即可。n即已有值的长度defaultValues.lengthtags.forEach((el, index) => {if (index <= defaultValues.length - 1 &&![...el.classList].includes('select-tag-close-none')) {el.style.display = 'none' // close 图标隐藏掉}})}// 设置样式隐藏close iconconst tags = el.querySelectorAll('.el-tag__close')if (tags.length === 0) {// 初始化tags为空处理setTimeout(() => {const tagTemp = el.querySelectorAll('.el-tag__close')dealStyle(tagTemp)})} else {dealStyle(tags)}}},},
};
</script>
  • 效果
    在这里插入图片描述

版权声明:

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

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