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


      废话不多说直接上效果🧐

    效果图
    1. <template>
    2. <div>
    3. <el-form
    4. :model="params"
    5. ref="queryForm"
    6. size="small"
    7. :inline="true"
    8. label-width="68px"
    9. >
    10. <el-form-item label="标签" prop="tag">
    11. <el-input
    12. v-model="inputContent"
    13. clearable
    14. readonly
    15. >
    16. <template slot="prefix">
    17. <el-tag slot="prepend" type="info" size="small" v-if="checkboxGroup.length>=1" closable @close="handleClose(checkboxGroup[0])">{{ checkboxGroup[0] }}el-tag>
    18. <el-tag slot="prepend" type="info" size="small" v-if="checkboxGroup.length>1">+{{ checkboxGroup.length-1 }}el-tag>
    19. template>
    20. <template slot="suffix">
    21. <i class="el-input__icon el-icon-menu" @click="openTags">i>
    22. template>
    23. el-input>
    24. el-form-item>
    25. el-form>
    26. <el-dialog title="选择标签" :visible.sync="tagsDialog" width="824px" append-to-body>
    27. <div class="select">
    28. <div class="title">已选择标签:div>
    29. <el-tag
    30. :key="tag"
    31. v-for="tag in checkboxGroup"
    32. closable
    33. :disable-transitions="false"
    34. @close="handleClose(tag)"
    35. effect="plain">
    36. {{tag}}
    37. el-tag>
    38. div>
    39. <el-divider>el-divider>
    40. <el-checkbox-group v-model="checkboxGroup">
    41. <el-checkbox v-for="item in dynamicTags" :key="item" :label="item" border>el-checkbox>
    42. el-checkbox-group>
    43. <div slot="footer" class="dialog-footer">
    44. <el-button type="primary" @click="submitTags">确 定el-button>
    45. <el-button @click="tagsDialog = false">取 消el-button>
    46. div>
    47. el-dialog>
    48. div>
    49. template>
    50. <script>
    51. export default {
    52. name: 'InputCheckbox',
    53. data() {
    54. return {
    55. params: {
    56. tag: [],
    57. },
    58. inputContent: '',
    59. tagsDialog:false,
    60. checkboxGroup:[],
    61. dynamicTags: ['标签一', '标签二', '标签三','标签四'],
    62. };
    63. },
    64. computed: {
    65. // 计算并设置输入框的显示值
    66. formattedDisplayValue() {
    67. if(!this.checkboxGroup.length) return;
    68. return this.checkboxGroup.length >= 1 ? `${this.checkboxGroup.slice(0, 1).join(', ')} +${this.checkboxGroup.length - 1}`:this.checkboxGroup[0];
    69. },
    70. },
    71. watch:{
    72. checkboxGroup(){
    73. this.params.tag = this.formattedDisplayValue;
    74. }
    75. },
    76. methods: {
    77. openTags(){
    78. this.tagsDialog = true;
    79. },
    80. submitTags(){
    81. this.tagsDialog = false;
    82. },
    83. handleClose(tag) {
    84. this.checkboxGroup.splice(this.checkboxGroup.indexOf(tag), 1);
    85. },
    86. },
    87. };
    88. script>
    89. <style lang="scss" scoped>
    90. ::v-deep .el-checkbox{
    91. margin-right: 0;
    92. }
    93. .el-tag + .el-tag {
    94. margin-left: 10px;
    95. }
    96. .el-input__icon{
    97. cursor: pointer;
    98. }
    99. .select{
    100. .title{
    101. margin-bottom: 10px;
    102. }
    103. }
    104. style>
  • 相关阅读:
    【MySQL】分析SQL的几种方式
    4.26日学习记录
    软件项目管理 8.4.软件项目质量计划
    京东AB主图测试实验,优化主图提升转化!
    rhcsa-压缩和解压缩
    圆环进度条 两种实现方式
    基本的SELECT语句——“MySQL数据库”
    AutoSAR点亮LED:开发环境介绍
    神经网络模型结果怎么看,图像识别神经网络模型
    软件开发项目 质量管理的6大关键事项
  • 原文地址:https://blog.csdn.net/qq_51478745/article/details/140243068