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

yizhihongxing

让我们来详细讲解一下“Vue之Element UI的el-select同时获取value和label的三种方式”的完整攻略。

介绍

在 Vue 中使用 Element UI 的 el-select 组件时,有时候我们需要同时获取到选中的 value 和 label 值,这时候就需要用到一些技巧来实现这个需求。在本文中,我将为大家介绍三种方式来同时获取 el-select 的 value 和 label 值。

方式一:利用 el-select 的 option 的 label、value 属性

代码示例:

<el-select v-model="selectedOption">
  <el-option label="label1" value="value1"></el-option>
  <el-option label="label2" value="value2"></el-option>
</el-select>

<script>
export default {
  data() {
    return {
      selectedOption: { label: '', value: '' }
    }
  },
  watch: {
    selectedOption: function(newVal) {
      console.log(newVal.label, newVal.value);
    }
  }
}
</script>

在这个示例中,我们使用了 el-select 的 v-model 属性来绑定选中的值到组件的 selectedOption 变量上。同时我们使用 watch 监听 selectedOption 变量的变化,实现了选中值的打印输出。当然,我们需要在 option 标签中加上 label 和 value 的属性。

方式二:利用 el-select 的 @change 事件和 ref 属性

代码示例:

<el-select ref="select" @change="handleSelectChange">
  <el-option label="label1" value="value1"></el-option>
  <el-option label="label2" value="value2"></el-option>
</el-select>

<script>
export default {
  methods: {
    handleSelectChange() {
      const selectedOption = this.$refs.select && this.$refs.select.selectedOptions[0];
      if (selectedOption) {
        console.log(selectedOption.label, selectedOption.value);
      }
    }
  }
}
</script>

在这个示例中,我们利用了 el-select 的 @change 事件来监听选中值的变化。同时,我们给 el-select 标签加上 ref 属性,使得我们可以通过 this.$refs.select 来获取到 el-select 组件,然后通过 selectedOptions[0] 获取到选中的 option 组件,并从中获取到 label 和 value 值。

方式三:利用 el-select 的 filterable 和 filter-method 属性

代码示例:

<el-select v-model="selectedOption" :filterable="true" :filter-method="filterMethod">
  <el-option label="label1" value="value1"></el-option>
  <el-option label="label2" value="value2"></el-option>
</el-select>

<script>
export default {
  data() {
    return {
      selectedOption: { label: '', value: '' }
    }
  },
  methods: {
    filterMethod(query, option) {
      return option.label.includes(query) || option.value.includes(query);
    }
  },
  watch: {
    selectedOption: function(newVal) {
      console.log(newVal.label, newVal.value);
    }
  }
}
</script>

在这个示例中,我们利用了 el-select 的 filterable 和 filter-method 属性来监听选中值的变化。filterable 属性开启了搜索框,filter-method 定义了搜索规则。我们同样使用了 el-select 的 v-model 属性来绑定选中的值到组件的 selectedOption 变量上,并监听了 selectedOption 变量的变化,实现了选中值的打印输出。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue之elementUi的el-select同时获取value和label的三种方式 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • vue-cli或vue项目利用HBuilder打包成移动端app操作

    下面就详细讲解一下如何将vue-cli或vue项目通过HBuilder打包成移动端app的操作攻略。 1. 安装HBuilder 首先,我们需要下载并安装HBuilder。HBuilder是一个支持多平台的HTML5开发工具,内置了多款开发框架和常用的UI组件,支持打包成Android和iOS原生应用。 你可以在DCloud官网上下载HBuilder:htt…

    Vue 2023年5月27日
    00
  • vue3.0 CLI – 1 – npm 安装与初始化的入门教程

    Vue3.0 CLI – 1 – npm 安装与初始化的入门教程 什么是 Vue CLI Vue CLI 是一个官方发布的 Vue.js 项目脚手架,提供了快速初始化项目、快速开发等功能,大大提高了前端开发效率。Vue CLI 内置了许多插件和功能,例如代码格式化、组件生成、调试等,同时也允许用户在创建项目时选择需要的插件和功能,定制自己的项目模版。 安装 …

    Vue 2023年5月28日
    00
  • vue 实现在函数中触发路由跳转的示例

    当我们在使用 Vue.js 开发 SPA(单页应用)时,使用路由跳转是必不可少的功能。在函数中触发路由跳转,可以让我们更加灵活地控制页面跳转,满足我们的设计需求。下面是实现这一功能的完整攻略: 创建 Vue 项目并安装所需依赖 我们首先需要创建一个 Vue 项目并在其中安装所需的依赖。可以使用 Vue CLI 快速创建一个项目,然后在项目根目录下运行以下命令…

    Vue 2023年5月28日
    00
  • Vue中的 ref,props,mixin属性

    下面是对Vue中ref、props、mixin属性的详细讲解攻略: 1. ref属性 1.1 简介 ref 属性是 vue 框架的一个特定属性,它可以让我们在 vue 组件中获得特定的 dom 节点或组件实例。如果我们在组件的模板中使用 ref,例如 ref=”myRef”,那么在 vue 实例中就可以以 this.$refs.myRef 的形式访问到该元素…

    Vue 2023年5月28日
    00
  • 简单聊聊vue3.0 sfc中setup的变化

    下面我就为大家详细讲解一下“简单聊聊vue3.0 sfc中setup的变化”。 一、什么是.vue文件 在介绍.vue文件的地方,就不得不介绍一下 Vue.js 了。Vue.js 是一款非常流行的前端框架,主要用于构建用户界面以及单页应用程序(SPA)。而.vue文件则是 Vue.js 在开发中所使用的组件文件格式,它可以包括 HTML、CSS 和 Java…

    Vue 2023年5月28日
    00
  • 详解vue更改头像功能实现

    让我来详细讲解一下“详解Vue更改头像功能实现”的完整攻略。 一、前置知识 在学习Vue头像更改功能之前,需要对Vue基础知识有一定的掌握,包括组件、状态管理、生命周期等等。 二、实现步骤 下面是详细的实现步骤: 第一步:安装依赖 首先需要安装依赖 element-ui 和 axios,我们可以使用以下命令进行安装: npm install element-…

    Vue 2023年5月27日
    00
  • Vue首页界面加载优化实现方法详解

    Vue首页界面加载优化实现方法详解 为什么需要页面加载优化? 在现代web应用中,页面加载时间成为影响用户体验的重要因素之一。用户希望在最短的时间内看到页面内容,而长时间的等待会降低用户的满意度,甚至影响用户的使用体验。另外,在用户网络环境差的情况下,页面加载速度问题更容易凸显。 因此,在开发web应用时,我们需要考虑如何对页面进行加载优化,加快页面的渲染速…

    Vue 2023年5月28日
    00
  • SpringBoot集成支付宝沙箱支付的实现示例

    下面是详细讲解“SpringBoot集成支付宝沙箱支付的实现示例”的完整攻略: 一、前置准备 注册并开通阿里云账号。 创建一个支付宝沙箱应用,获取支付宝沙箱应用 ID 和秘钥。 了解支付宝接口文档和SDK相关内容。 选择合适的开发语言和开发框架。本教程采用 SpringBoot 框架。 二、添加依赖 在 pom.xml 文件中添加 Alibaba maven…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部