element-ui输入框如何实现回显的多选样式?

news2024/11/28 0:38:06

  废话不多说直接上效果🧐

效果图
<template>
  <div>
    <el-form
        :model="params"
        ref="queryForm"
        size="small"
        :inline="true"
        label-width="68px"
      >
      <el-form-item label="标签" prop="tag">
        <el-input
          v-model="inputContent"
          clearable
          readonly
        >
          <template slot="prefix">
            <el-tag slot="prepend" type="info" size="small" v-if="checkboxGroup.length>=1" closable  @close="handleClose(checkboxGroup[0])">{{ checkboxGroup[0] }}</el-tag>
            <el-tag slot="prepend" type="info" size="small" v-if="checkboxGroup.length>1">+{{ checkboxGroup.length-1 }}</el-tag>
          </template>
          <template slot="suffix">
            <i class="el-input__icon el-icon-menu" @click="openTags"></i>
          </template>
        </el-input>
      </el-form-item>
    </el-form>

    <el-dialog title="选择标签" :visible.sync="tagsDialog" width="824px" append-to-body>
      <div class="select">
        <div class="title">已选择标签:</div>
        <el-tag
          :key="tag"
          v-for="tag in checkboxGroup"
          closable
          :disable-transitions="false"
          @close="handleClose(tag)"
          effect="plain">
          {{tag}}
        </el-tag>
      </div>
      <el-divider></el-divider>
      <el-checkbox-group v-model="checkboxGroup">
        <el-checkbox v-for="item in dynamicTags" :key="item" :label="item" border></el-checkbox>
      </el-checkbox-group>

      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitTags">确 定</el-button>
        <el-button @click="tagsDialog = false">取 消</el-button>
      </div>
    </el-dialog>
  </div>
</template>

<script>
export default {
  name: 'InputCheckbox',
  data() {
    return {
      params: {
        tag: [],
      },
      inputContent: '',
      tagsDialog:false,
      checkboxGroup:[],
      dynamicTags: ['标签一', '标签二', '标签三','标签四'],
    };
  },
  computed: {  
    // 计算并设置输入框的显示值
    formattedDisplayValue() {
      if(!this.checkboxGroup.length) return;
      return this.checkboxGroup.length >= 1 ? `${this.checkboxGroup.slice(0, 1).join(', ')} +${this.checkboxGroup.length - 1}`:this.checkboxGroup[0];
    },
  },
  watch:{
    checkboxGroup(){
      this.params.tag = this.formattedDisplayValue;
    }
  },
  methods: {
    openTags(){
      this.tagsDialog = true;
    },
    submitTags(){
      this.tagsDialog = false;
    },
    handleClose(tag) {
      this.checkboxGroup.splice(this.checkboxGroup.indexOf(tag), 1);
    },
  },
};
</script>

<style lang="scss" scoped>
::v-deep .el-checkbox{
  margin-right: 0;
}
.el-tag + .el-tag {
  margin-left: 10px;
}
.el-input__icon{
  cursor: pointer;
}
.select{
  .title{
    margin-bottom: 10px;
  }
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1903170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CurrentHashMap巧妙利用位运算获取数组指定下标元素

先来了解一下数组对象在堆中的存储形式【数组长度&#xff0c;数组元素类型信息等】 【存放元素对象的空间】 Ma 基础信息实例数据内存填充Mark Word,ClassPointer,数组长度第一个元素第二个元素固定的填充内容 所以我们想要获取某个下标的元素首先要获取这个元素的起始位置…

UEC++ 虚幻5第三人称射击游戏(二)

UEC++ 虚幻5第三人称射击游戏(二) 派生榴弹类武器 新建一个继承自Weapon的子类作为派生榴弹类武器 将Weapon类中的Fire函数添加virtual关键字变为虚函数让榴弹类继承重写 在ProjectileWeapon中重写Fire函数,新建生成投射物的模版变量 Fire函数重写逻辑 代码//生成的投射物U…

使用Spring Boot和自定义缓存注解优化应用性能

在现代应用开发中&#xff0c;缓存是提高系统性能和响应速度的关键技术之一。Spring Boot提供了强大的缓存支持&#xff0c;但有时我们需要更灵活的缓存控制。本文将介绍如何使用Spring Boot和自定义缓存注解来优化应用性能。 1. 为什么需要自定义缓存注解&#xff1f; Sprin…

CH12_函数和事件

第12章&#xff1a;Javascript的函数和事件 本章目标 函数的概念掌握常用的系统函数掌握类型转换掌握Javascript的常用事件 课程回顾 Javascript中的循环有那些&#xff1f;Javascript中的各个循环特点是什么&#xff1f;Javascript中的各个循环语法分别是什么&#xff1f;…

Android仿今日头条新闻(一)

新建一个侧边栏的文件&#xff0c;创建成功后直接运行。可以看到带滑动的侧边栏功能如图所示&#xff1a; 主体UI&#xff1a; 新闻UI的实现: 侧边栏&#xff1a; 更换一下颜色&#xff1a; 学习参考-浩宇开发

科研绘图系列:R语言两组数据散点分布图(scatter plot)

介绍 展示两组数据的散点分布图是一种图形化表示方法,用于显示两个变量之间的关系。在散点图中,每个点代表一个数据点,其x坐标对应于第一组数据的值,y坐标对应于第二组数据的值。以下是散点图可以展示的一些结果: 线性关系:如果两组数据之间存在线性关系,散点图将显示出…

【JVM系列】Full GC(完全垃圾回收)的原因及分析

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

IDA*——AcWing 180. 排书

IDA* 定义 IDA*&#xff08;Iterative Deepening A*&#xff09;是一种结合了深度优先搜索&#xff08;DFS&#xff09;的递归深度限制特性和A搜索的启发式估价函数的搜索算法。它主要用于解决启发式搜索问题&#xff0c;尤其是当搜索空间很大或者搜索成本不确定时。 IDA* 是…

分享大厂对于缓存操作的封装

hello&#xff0c;伙伴们好久不见&#xff0c;我是shigen。发现有两周没有更新我的文章了。也是因为最近比较忙&#xff0c;基本是993了。 缓存大家再熟悉不过了&#xff0c;几乎是现在任何系统的标配&#xff0c;并引申出来很多的问题&#xff1a;缓存穿透、缓存击穿、缓存雪崩…

markdown导入其它markdown文件

相应语法 [toc] # 测试不同功能 <p> 这是类似超链接的管理方式 </p>[链接测试0](./part0/uml_base.md)[链接测试1](./part1/math_base.md)---<p> 这是直接导入文件的管理方式 </p>import "./part0/uml_base.md"---import "./part1/mat…

arm64架构kvm情景分析 - type1型和type2型虚拟机管理器

内核版本&#xff1a;linux-v5.9 架构&#xff1a;arm64 1 type1型和type2虚拟机管理器 在arm64架构中&#xff0c;共有EL3到EL0四个异常级别&#xff0c;EL3异常级别最高。通常操作系统&#xff08;如linux&#xff09;运行在EL1&#xff0c;应用程序运行在EL0&#xff0c;EL…

S32DS S32 Design Studio for S32 Platform 3.5 代码显示行号与空白符

介绍 NXP S32DS&#xff0c;全称 S32 Design Studio&#xff0c;s32 系列芯片默认使用 S32 Design Studio for S32 Platform 作为 IDE 集成开发环境&#xff0c;当前版本 S32 Design Studio for S32 Platform 3.5&#xff0c;IDE 可以简称 s32DS 使用 S32DS&#xff0c;可以认…

python操作SQLite3数据库进行增删改查

python操作SQLite3数据库进行增删改查 1、创建SQLite3数据库 可以通过Navicat图形化软件来创建: 2、创建表 利用Navicat图形化软件来创建: 存储在 SQLite 数据库中的每个值(或是由数据库引擎所操作的值)都有一个以下的存储类型: NULL. 值是空值。 INTEGER. 值是有符…

JavaWeb开发基础7个Web术语解析

7个Web术语 Website: static vs dynamic HTTP HTTP Requests GET vs POST Servlet Container Server: Web vs Application Content Type Website: static vs dynamic 网站内容包括文本、图片、音频、视频&#xff0c;通过URL来访问。网站分为静态网站和动态网站。 静态网…

LLMs之gptpdf:gptpdf的简介、安装和使用方法、案例应用之详细攻略

LLMs之gptpdf&#xff1a;gptpdf的简介、安装和使用方法、案例应用之详细攻略 目录 gptpdf的简介 1、处理流程 第一步&#xff0c;使用 PyMuPDF 库&#xff0c;对 PDF 进行解析出所有非文本区域&#xff0c;并做好标记&#xff0c;比如: 第二步&#xff0c;使用视觉大模型&…

【数智化人物展】天云数据CEO雷涛:大模型连接数据库 为数智化提供高价值数据...

雷涛 本文由天云数据CEO雷涛投递并参与由数据猿联合上海大数据联盟共同推出的《2024中国数智化转型升级先锋人物》榜单/奖项评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 这几天&#xff0c;奥特曼讲SQL数据库和大模型结合起来会产生什么样的化学变化引起行业关注。为…

13.SQL注入-宽字节

SQL注入-宽字节 含义&#xff1a; MySQL是用的PHP语言&#xff0c;然后PHP有addslashes()等函数&#xff0c;这类函数会自动过滤 ’ ‘’ null 等这些敏感字符&#xff0c;将它们转义成’ ‘’ \null&#xff1b;然后宽字节字符集比如GBK它会自动把两个字节的字符识别为一个汉…

frp技术

说明&#xff1a;frp&#xff08;https://github.com/fatedier/frp&#xff09; 是一个专注于内网穿透的高性能的反向代理应用&#xff0c;支持 TCP、UDP、HTTP、HTTPS 等多种协议&#xff0c;且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露…

19.JWT

1►JWT博客推荐 阮老师讲得很好了&#xff0c;网址如下&#xff1a; http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html 2►ry是怎么践行JWT的呢&#xff1f; 问题一&#xff1a;不登录的时候有token吗&#xff1f; 答&#xff1a;没有&#xff0c;所…

中标麒麟 RAC 19c 部署(Openssh免密BUG解决方案)

部署环境&#xff1a; 主机一主机二host ip192.168.80.46192.168.80.47vip 192.168.80.48192.168.80.49private ip192.168.10.10192.168.10.11storage ip192.168.20.33192.168.20.34主机名rac19c1rac19c2 需要上传的软件包&#xff1a; 一.虚拟机配置 选择中标麒麟IOS文件&am…