搜索

查看: 3098|回复: 11

[JavaScript] vue之elementUi的el-select同时获取value和label的三种方式

[复制链接]
发表于 2023-5-4 11:46:28 | 显示全部楼层 |阅读模式
Editor 2023-5-4 11:46:28 3098 11 看全部
目录
  • 一. 需求
  • 二. 方法
  • 1. 通过ref的形式(推荐)
  • 2. 通过字符串拼接的形式(推荐)
  • 3. 通过遍历的形式(不推荐)
  • 总结
    一. 需求
    如下图的下拉选项框,点击查看需要同时获取到选中选项的label值以及value值

    2023022314265378.png

    2023022314265378.png


    以下是vue的渲染,在此不做过多介绍

      
       
          
          
       
        查看
      

    el-select绑定一个value值,el-option需要一个数组,以下是模拟数据
    data() {
        return {
          value: "",
          options: [
            { id: 0, label: "苹果", value: "apple" },
            { id: 1, label: "香蕉", value: "banana" },
            { id: 2, label: "橙子", value: "orange" },
          ],
        };
      },

    二. 方法
    1. 通过ref的形式(推荐)
    在进行el-select渲染时,给el-select添加一个ref,用于获取值

    2023022314265379.png

    2023022314265379.png


    然后就可以在点击事件或者提交表单时获取到选中的值了
    methods: {
        showoptions() {
          console.log(
            this.$refs.optionRef.selected.value,
            this.$refs.optionRef.selected.label
          );
        },
      },

    2023022314265380.png

    2023022314265380.png


    想要回显的话直接给定el-select绑定的value为某个值即可,如想要回显苹果,就赋值为apple
    该方法完整代码如下:

      
       
          
          
       
        查看
      


    2. 通过字符串拼接的形式(推荐)
    这个方法相对于第一种方法而已,优点在于不止于同时获取label和value,可以获取多个,如再加一个id值什么的,这里演示还是以获取label和value为例,如想要获取其他,按照如下方式即可
    我们在el-option渲染时,所设置的value属性值可以设置成label+value的形式,如下图

    2023022314265381.png

    2023022314265381.png


    那么我们获取值时,直接获取el-select绑定的value即可,

    2023022314265382.png

    2023022314265382.png


    获取后的值形式如下图,那么+号前面的就是想要的value值,后面的就是label值了,对返回的数据用split('+')进行切割,返回的数组索引0就是value值,数组索引1就是label值

    2023022314265383.png

    2023022314265383.png


    这种方法在回显的时候稍微有点麻烦,因为要把回显的值也弄成value+label的形式渲染到el-select所绑定的value上,比如要回显香蕉,就将value设置为’banana+香蕉‘
    以下是第二种方法的完整代码

      
       
          
          
       
        查看
      


    3. 通过遍历的形式(不推荐)
    这种方法就不太友好,就是通过el-select绑定的value对el-option数组进行遍历查找

    2023022314265384.png

    2023022314265384.png


    总结
    以上为个人经验,希望能给大家一个参考,也希望大家多多支持知鸟论坛
  • 回复

    使用道具 举报

    发表于 2023-6-29 23:25:53 | 显示全部楼层
    执着等待等wc 2023-6-29 23:25:53 看全部
    论坛不能没有像楼主这样的人才啊!我会一直支持知鸟论坛
    回复

    使用道具 举报

    发表于 2023-6-30 00:08:22 | 显示全部楼层
    贰十岁装成熟装s 2023-6-30 00:08:22 看全部
    楼主,大恩不言谢了!知鸟论坛是最棒的!
    回复

    使用道具 举报

    发表于 2023-6-30 02:12:45 | 显示全部楼层
    贺老师 2023-6-30 02:12:45 看全部
    其实我一直觉得楼主的品味不错!呵呵!知鸟论坛太棒了!
    回复

    使用道具 举报

    发表于 2023-6-30 23:15:28 | 显示全部楼层
    462710480 2023-6-30 23:15:28 看全部
    楼主,大恩不言谢了!知鸟论坛是最棒的!
    回复

    使用道具 举报

    发表于 2023-7-1 01:17:47 | 显示全部楼层
    当当当当裤裆坦 2023-7-1 01:17:47 看全部
    既然你诚信诚意的推荐了,那我就勉为其难的看看吧!知鸟论坛不走平凡路。
    回复

    使用道具 举报

    发表于 2023-7-1 02:07:02 | 显示全部楼层
    123456823 2023-7-1 02:07:02 看全部
    楼主发贴辛苦了,谢谢楼主分享!我觉得知鸟论坛是注册对了!
    回复

    使用道具 举报

    发表于 2023-7-3 08:06:27 | 显示全部楼层
    墙和鸡蛋 2023-7-3 08:06:27 看全部
    楼主,我太崇拜你了!我想我是一天也不能离开知鸟论坛
    回复

    使用道具 举报

    发表于 2023-7-3 08:39:38 | 显示全部楼层
    Gordon520 2023-7-3 08:39:38 看全部
    论坛不能没有像楼主这样的人才啊!我会一直支持知鸟论坛
    回复

    使用道具 举报

    发表于 2023-7-3 18:27:59 | 显示全部楼层
    123456868 2023-7-3 18:27:59 看全部
    楼主太厉害了!楼主,I*老*虎*U!我觉得知鸟论坛真是个好地方!
    回复

    使用道具 举报

    • 您可能感兴趣
    点击右侧快捷回复 【请勿灌水】
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则 返回列表

    RSS订阅| SiteMap| 小黑屋| 知鸟论坛
    联系邮箱E-mail:zniao@foxmail.com
    快速回复 返回顶部 返回列表