Element中el-select下拉框实现选中图标并回显图标

 更新时间:2023年12月28日 08:27:18   作者:奔跑的露西  
本文主要介绍了Element中el-select下拉框实现选中图标并回显图标,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、背景

需求:在下拉框中选择图标,并同时显示图标和文字,以便用户可以直观地选择所需的图标。

二、功能实现

<template>
  <div>
    <el-table ref="table" :data="featureCustom2List" height="200" border="true">
      <el-table-column label="图标" prop="prop" width="150" align="center" header-align="center">
        <div class="iconSelect">
          <img :src="`/minigram/${selectedImage}`" v-if="selectedImage" alt="Selected Image" width="20" height="20" />
          <el-select v-model="selectedImage" placeholder="请选择" @change="iconChange" size="mini" style=" width: 100px;margin-left: 10px;">
          <el-option
            v-for="item in imageList"
            :key="item.id"
            :label="item.iconDesc"
            :value="item.iconAddress"
          >
          <img :src="`/minigram/${item.iconAddress}`"  alt="Selected Image" width="20" height="20">
          <span style="margin-left: 10px;">{{ item.iconDesc }}</span>
          </el-option>
          </el-select>
        </div>
      </el-table-column>
    </el-table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      selectedImage: '',//选中的图标
      featureCustom2List:[],//表格数据集合,从接口获取的数据
      imageList:[],//图标数据集合,从接口获取的数据
    };
  },
  methods: {
     //监听下拉框
     iconChange(e){
      //下拉框选中的图标进行赋值
      this.selectedImage = e
    }
  }
}
</script>

说明:imageList数组是从接口中获取的,iconDesc表示图标描述,iconAddress表示图标地址👇👇👇

三、下拉框选中图标后无显示

3.1、问题描述

下拉框选中图标后页面没有显示图标,但当手动拖动el-table组件的图标列宽度时,此时图标列的宽度发生了变化,选中的图标就在页面中显示了

3.2、问题分析

这个问题是由于在渲染 el-table 组件时,图标列所在的单元格高度没有被正确计算,导致下拉框和图片无法显示。拖动表格宽度后,单元格高度重新计算,就能正常显示了。

3.3、解决方法

在 iconChange 方法中手动触发表格重新渲染的操作,让表格重新计算单元格高度,从而使下拉框和图片正常显示。

① 在 data() 中新增一个名为 tableKey 的属性,用于指定表格唯一的 key 值

② 在el-table 组件的 :key 属性上绑定tableKey属性

③ 在 iconChange 方法中,修改 selectedImage 的值后,手动更新 tableKey 的值

总结:这样做的效果是,每次下拉框选中了新的图标时,会手动更新 tableKey 的值,从而触发表格重新渲染,使下拉框和图片正常显示。

3.4、最终效果 

到此这篇关于Element中el-select下拉框实现选中图标并回显图标的文章就介绍到这了,更多相关Element el-select选中图标并回显图标内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue实现集成腾讯TIM即时通讯

    vue实现集成腾讯TIM即时通讯

    最近在做商城类的项目,需要使用到客服系统,用户选择的腾讯IM即时通信,所以本文主要介绍了vue实现集成腾讯TIM即时通讯,感兴趣的可以了解一下
    2021-06-06
  • Vue脚手架搭建及创建Vue项目流程的详细教程

    Vue脚手架搭建及创建Vue项目流程的详细教程

    Vue脚手架指的是vue-cli,它是一个快速构建**单页面应用程序(SPA)**环境配置的工具,cli是(command-line-interfac)命令行界面,下面这篇文章主要给大家介绍了关于Vue脚手架搭建及创建Vue项目流程的相关资料,需要的朋友可以参考下
    2022-09-09
  • 如何提升vue.js中大型数据的性能

    如何提升vue.js中大型数据的性能

    这篇文章主要介绍了提高vue.js中大型数据的性能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • 解决vue-cli webpack打包后加载资源的路径问题

    解决vue-cli webpack打包后加载资源的路径问题

    今天小编就为大家分享一篇解决vue-cli webpack打包后加载资源的路径问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue中如何禁止input框和textarea编辑

    vue中如何禁止input框和textarea编辑

    这篇文章主要介绍了vue中如何禁止input框和textarea编辑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 一次Vue中computed没有触发的原因以及排查经历

    一次Vue中computed没有触发的原因以及排查经历

    这篇文章主要介绍了一次Vue中computed没有触发的原因以及排查经历,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • vue设置默认首页的操作

    vue设置默认首页的操作

    这篇文章主要介绍了vue设置默认首页的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Vue+element 解决浏览器自动填充记住的账号密码问题

    Vue+element 解决浏览器自动填充记住的账号密码问题

    我们在做form表单的时候,会发现,浏览器会自动的将我们之前保存的密码,自动的填充到表单中input 为 type="password" 的框中,如何实现此功能呢,下面小编给大家介绍下,感兴趣的朋友一起看看吧
    2019-06-06
  • Vue2.0中集成UEditor富文本编辑器的方法

    Vue2.0中集成UEditor富文本编辑器的方法

    本文给大家详细讲述了Vue2.0中集成UEditor富文本编辑器的方法以及相关注意事项做了讲述,有兴趣的朋友学习下。
    2018-03-03
  • vue实现选项卡功能

    vue实现选项卡功能

    这篇文章主要为大家详细介绍了vue实现选项卡功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论