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

yizhihongxing

针对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金融数字格式化(并保留小数)数字滚动效果实现是一个在金融、商务等领域中广泛使用的功能。下面我将给出完整的实现攻略。 步骤1:使用Vue.js中的过滤器实现数字格式化 使用Vue.js的过滤器(filter)功能,我们可以将数字按照一定规律进行格式化输出。以下是一个对数字进行千分位分隔和保留两位小数的过滤器示例代码: Vue.filter(‘number…

    Vue 2023年5月27日
    00
  • vue格式化element表格中的时间为指定格式

    当我们使用 Vue 和 Element UI 框架来处理时间数据时,有时候需要将时间数据按照指定的格式进行格式化,这里提供几种解决方案: 1. 使用 Element UI Table 组件中的 scoped slot 在表格中创建一个名为“date”(可以自己命名)的范围插槽,然后将单元格样式修改相应的格式。 <el-table-column labe…

    Vue 2023年5月28日
    00
  • vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序

    下面是实现”vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序”的完整攻略。 1. 确保已安装vuedraggble插件 在开始实现之前,你需要先在你的项目中安装vuedraggable插件。你可以通过以下命令来安装: npm install vuedraggable –save 2. 使用vuedraggable组件…

    Vue 2023年5月27日
    00
  • el-form中的rules未生效的解决方法

    当在使用element-ui的el-form组件中配置rules进行表单验证时,有时会遇到rules未生效的问题。下面我们将介绍几种解决方法。 方法一:手动触发验证 当我们使用el-form组件配合rules进行表单校验时,需要在提交表单时调用validate方法触发表单校验。但有时由于各种原因,validate方法失效,可尝试手动触发验证。 <tem…

    Vue 2023年5月27日
    00
  • vue如何基于el-table实现多页多选及翻页回显过程

    实现多页多选及翻页回显的关键在于要在不同页之间共享数据。Vue.js提供了一些辅助方法来进行数据处理和页面渲染。我们可以使用Vue.js的计算属性和方法来实现该功能。 步骤一:设置选中项和分页 首先,我们需要在Vue实例中通过数据来记录选中的项和当前页数,具体代码如下: <template> <el-table :data="ta…

    Vue 2023年5月27日
    00
  • vue项目首屏加载过慢的一些解决方案

    首屏加载慢是vue项目中常见的问题,以下是一些解决方案。 1. 代码分割 由于Vue的单页面应用,一旦一个组件被请求,整个应用程序将被加载到浏览器中。这就导致了首屏加载速度缓慢的问题。通过代码分割,将应用程序分解成更小的块,可以减少加载时间并改善用户体验。 Vue官方提供了vue/cli脚手架工具,其中webpack已经默认配置好了代码分割。通过动态导入组件…

    Vue 2023年5月29日
    00
  • vue-router源码之history类的浅析

    下面我会为你详细讲解“vue-router源码之history类的浅析”的完整攻略。 一、什么是 vue-router 的 history 类? vue-router 提供了多种模式的路由实现,其中一种就是 history 模式。这种模式使用了 HTML5 提供的 History API,可以在不刷新页面的情况下改变浏览器的 URL。 vue-router …

    Vue 2023年5月28日
    00
  • Vue Promise的axios请求封装详解

    标题:Vue Promise的Axios请求封装详解 简介:Vue.js 是一款轻量级、渐进式的 JavaScript 框架,提供了数据驱动和组件化的思想,可用于构建任何复杂的单页面应用。而 Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js。在 Vue.js 开发中,我们常常需要用到 Axios 去请求后台数据。为了…

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