el-select 数据回显,只显示value不显示lable问题

针对el-select数据回显时只显示value而不显示label的问题,有两种解决方案:

方案一:将options数组中的每个对象中的value和label互换

这种方案的核心思想是将options数组中的每个对象中value和label属性的值互换。比如原来options数组的一个元素是这样的:

{
  value: '1',
  label: '选项1'
}

那么就将它改成这样:

{
  value: '选项1',
  label: '1'
}

这样在el-select的数据回显过程中,显示的就是label属性的值,而不是默认的value属性的值。具体代码示例如下:

<template>
  <el-select v-model="selected" :options="options"></el-select>
</template>

<script>
export default {
  data() {
    return {
      selected: '选项2',
      options: [
        { value: '选项1', label: '1' },
        { value: '选项2', label: '2' },
        { value: '选项3', label: '3' },
      ]
    }
  }
}
</script>

上面的代码中,在el-select组件中绑定了selected和options两个属性,其中options数组中的每个元素都是value和label属性值互换的对象。这样做之后,在el-select的数据回显过程中,就会显示label属性的值,而不是默认的value属性的值。

方案二:使用slot自定义选项项模板

这种方案的核心思想是使用slot自定义选项项的模板,将要显示的内容和el-select的v-model进行绑定。具体代码示例如下:

<template>
  <el-select v-model="selected">
    <template slot="default" slot-scope="{ option }">
      {{ option.label }}
    </template>
    <el-option v-for="option in options" :key="option.value" :value="option.value" :label="option.label"></el-option>
  </el-select>
</template>

<script>
export default {
  data() {
    return {
      selected: '2',
      options: [
        { value: '1', label: '选项1' },
        { value: '2', label: '选项2' },
        { value: '3', label: '选项3' },
      ]
    }
  }
}
</script>

上面的代码中,在el-select组件中定义了一个默认的插槽,并在其中定义了对应的模板。在模板中通过slot-scope="{ option }"获取到每个选项项对象,然后使用option.label绑定要显示的数据。这样做之后,在el-select的数据回显过程中,就会显示label属性的值,而不是默认的value属性的值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:el-select 数据回显,只显示value不显示lable问题 - Python技术站

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

相关文章

  • 基于vue,vue-router, vuex及addRoutes进行权限控制问题

    接下来我将为你详细讲解基于vue、vue-router、vuex及addRoutes进行权限控制的完整攻略。 理论基础 在进行权限控制前,需要先建立一些理论基础。在Web应用中,常见的权限控制方式有三种: 基于角色的访问控制(Role-Based Access Control, RBAC):将角色赋予用户或用户组,并将角色与资源进行关联,从而控制用户对资源的…

    Vue 2023年5月28日
    00
  • vue-cli webpack模板项目搭建及打包时路径问题的解决方法

    Vue-cli webpack模板项目搭建及打包时路径问题的解决方法 Vue-cli提供了Webpack的模板项目,使用这个模板项目可以快速地搭建一个Vue项目,并且提供了大量的开发工具和插件,方便我们进行开发、调试和打包等操作。但是当我们要在打包时把项目部署到服务器上时,会遇到一些路径问题。 1. 安装Vue-cli 首先,我们需要安装Vue-cli,打开…

    Vue 2023年5月28日
    00
  • vue中复用vuex.store对象的定义

    在Vue项目中,我们通常使用Vuex库来管理应用中的状态。这使得我们可以更方便地在组件之间共享数据和状态。有时候,我们需要在不同的组件中复用Vuex的store对象,以实现跨组件访问和修改共享状态的目的。这个过程可以通过以下步骤完成: 1.定义Vuex的store对象 在Vue应用中,我们通常会在一个单独的js文件中定义Vuex的store对象。这个对象包含…

    Vue 2023年5月28日
    00
  • Vue实现导航栏菜单

    我会为您详细讲解如何使用Vue实现导航栏菜单。 1. 确定导航栏菜单数据格式 首先我们需要确定导航栏菜单的数据格式,一般而言可以使用以下格式: menuList: [ { name: ‘Home’, path: ‘/’, icon: ‘el-icon-menu’ }, { name: ‘Service’, path: ‘/service’, icon: ‘e…

    Vue 2023年5月27日
    00
  • JavaScript中textRange对象使用方法小结

    JavaScript中textRange对象使用方法小结 什么是textRange对象 textRange对象是指文本范围对象,提供了一种对文本的精确定位和操作的方式。在使用浏览器中的文本框、可编辑的HTML元素时,常常需要使用到textRange对象。textRange对象主要用于选择文本、插入文本、复制/粘贴文本、删除文本等操作。 textRange对象…

    Vue 2023年5月28日
    00
  • vue使用map代替Aarry数组循环遍历的方法

    下面是关于使用map代替Array数组循环遍历的方法的详细攻略。 1. 什么是map map是JavaScript原生的数组方法,它可以用于对数组中每个元素进行操作,并返回一个新的数组。 2. map的使用方法 map方法接受一个函数作为参数,函数中包含两个参数,分别是当前遍历到的元素以及当前元素的索引。 语法如下: arr.map(callback(cur…

    Vue 2023年5月27日
    00
  • 一篇超详细的Vue-Router手把手教程

    一篇超详细的Vue-Router手把手教程 简介 Vue-Router是Vue.js官方提供的用于路由管理的插件,可以帮助我们快速地构建单页应用。本文将从基础的使用开始,逐步深入解析Vue-Router的特性和使用方法,让你轻松掌握Vue-Router的使用。 基本使用 安装 使用npm安装Vue-Router: npm install vue-router…

    Vue 2023年5月27日
    00
  • vue指令以及dom操作详解

    Vue指令以及DOM操作详解 在Vue中,指令(Directive)是一个带有 v- 前缀的特殊属性。指令用于在模板中添加特殊的行为,常见的指令有v-if、v-for、v-bind、v-on等。 v-if指令 v-if指令用于根据表达式的值的真假,来切换元素的存在。例如下面这个示例: <div v-if="showFlag">…

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