elementUi的下拉框如何取得的el-select值和标签

Admin 2023-04-06 群英技术资讯 435 次浏览

关于“elementUi的下拉框如何取得的el-select值和标签”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。

  
目录
  • 一. 需求
  • 二. 方法
    • 1. 通过ref的形式(推荐)
    • 2. 通过字符串拼接的形式(推荐)
    • 3. 通过遍历的形式(不推荐)
  • 总结

    一. 需求

    如下图的下拉选项框,点击查看需要同时获取到选中选项的label值以及value值

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

    <template>
      <div class="root">
        <el-select
          ref="optionRef"
          v-model="value"
          placeholder="请选择"
          style="width: 250px"
        >
          <el-option
            v-for="item in options"
            :key="item.id"
            :label="item.label"
            :value="item.value"
          >
          </el-option>
        </el-select>
        <el-button style="margin-left: 20px" @click="showoptions" type="primary" >查看</el-button >
      </div>
    </template>

    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,用于获取值

    然后就可以在点击事件或者提交表单时获取到选中的值了

    methods: {
        showoptions() {
          console.log(
            this.$refs.optionRef.selected.value,
            this.$refs.optionRef.selected.label
          );
        },
      },

    想要回显的话直接给定el-select绑定的value为某个值即可,如想要回显苹果,就赋值为apple

    该方法完整代码如下:

    <template>
      <div class="root">
        <el-select
          ref="optionRef"
          v-model="value"
          placeholder="请选择"
          style="width: 250px"
        >
          <el-option
            v-for="item in options"
            :key="item.id"
            :label="item.label"
            :value="item.value"
          >
          </el-option>
        </el-select>
        <el-button style="margin-left: 20px" @click="showoptions" type="primary" >查看</el-button >
      </div>
    </template>
    <script>
    export default {
      data() {
        return {
          value: "",
          options: [
            { id: 0, label: "苹果", value: "apple" },
            { id: 1, label: "香蕉", value: "banana" },
            { id: 2, label: "橙子", value: "orange" },
          ],
        };
      },
      methods: {
        showoptions() {
          console.log(
            this.$refs.optionRef.selected.value,
            this.$refs.optionRef.selected.label
          );
        },
      },
    };
    </script>

    2. 通过字符串拼接的形式(推荐)

    这个方法相对于第一种方法而已,优点在于不止于同时获取label和value,可以获取多个,如再加一个id值什么的,这里演示还是以获取label和value为例,如想要获取其他,按照如下方式即可

    我们在el-option渲染时,所设置的value属性值可以设置成label+value的形式,如下图

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

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

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

    以下是第二种方法的完整代码

    <template>
      <div class="root">
        <el-select
          ref="optionRef"
          v-model="value"
          placeholder="请选择"
          style="width: 250px"
        >
          <el-option
            v-for="item in options"
            :key="item.id"
            :label="item.label"
            :value="item.value + '+' + item.label"
          >
          </el-option>
        </el-select>
        <el-button style="margin-left: 20px" @click="showoptions" type="primary"
          >查看</el-button
        >
      </div>
    </template>
    <script>
    export default {
      data() {
        return {
          value: "banana+香蕉",
          options: [
            { id: 0, label: "苹果", value: "apple" },
            { id: 1, label: "香蕉", value: "banana" },
            { id: 2, label: "橙子", value: "orange" },
          ],
        };
      },
      methods: {
        showoptions() {
          console.log(this.value);
          console.log("value=====", this.value.split("+")[0]);
          console.log("label=====", this.value.split("+")[1]);
        },
      },
    };
    </script>

    3. 通过遍历的形式(不推荐)

    这种方法就不太友好,就是通过el-select绑定的value对el-option数组进行遍历查找


    上述内容具有一定的借鉴价值,感兴趣的朋友可以参考,希望能对大家有帮助,想要了解更多"elementUi的下拉框如何取得的el-select值和标签"的内容,大家可以关注群英网络的其它相关文章。 群英智防CDN,智能加速解决方案

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

    猜你喜欢

    成为群英会员,开启智能安全云计算之旅

    立即注册
    专业资深工程师驻守
    7X24小时快速响应
    一站式无忧技术支持
    免费备案服务
    免费拨打  400-678-4567
    免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
    在线客服
    微信公众号
    返回顶部
    返回顶部 返回顶部
    在线客服
    在线客服