vue的el-select绑定的值无法选中el-option问题及解决

当使用Vue的el-select组件时,可能会遇到无法选中el-option的问题。这个问题常见于el-option基于v-for动态渲染的情况下。

出现这个问题的原因,是因为el-select组件中v-model绑定的值和el-option组件中v-bind:value绑定的值类型不一致导致的。解决这个问题有以下两种方法:

方法一:更换v-model绑定的值的类型

如果el-select组件中v-model绑定的值是数值类型,而el-option组件中v-bind:value绑定的值是字符串类型,则无法实现选中。

<!-- 问题代码 -->
<el-select v-model="selectedValue">
  <el-option v-for="item in options" v-bind:key="item.value" v-bind:value="item.value">{{ item.label }}</el-option>
</el-select>

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

解决的方法是更改selectedValue的初始值为字符串类型。这样就可以实现选中el-option了。

<!-- 解决代码 -->
<el-select v-model="selectedValue">
  <el-option v-for="item in options" v-bind:key="item.value" v-bind:value="item.value">{{ item.label }}</el-option>
</el-select>

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

方法二:使用el-option的label属性

另一种解决这个问题的方法是使用el-option的label属性。el-option组件中的label属性是用于显示的文本,而v-bind:value绑定的值是用于传递的值。这样就可以保证el-select和el-option组件中传递的值类型一致了。

<!-- 解决代码 -->
<el-select v-model="selectedValue">
  <el-option v-for="item in options" v-bind:key="item.value" v-bind:value="item.label">{{ item.label }}</el-option>
</el-select>

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

以上就是解决Vue的el-select绑定的值无法选中el-option问题的完整攻略,希望可以对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue的el-select绑定的值无法选中el-option问题及解决 - Python技术站

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

相关文章

  • 前端Vue项目详解–初始化及导航栏

    下面我来详细讲解“前端Vue项目详解–初始化及导航栏”的完整攻略。 初始化Vue项目 首先我们需要使用Vue脚手架来初始化我们的前端项目。具体步骤如下: 在终端中输入以下命令来安装Vue脚手架: npm install -g @vue/cli 运行以下命令来创建一个新的Vue项目: vue create my-project 其中my-project是你的…

    Vue 2023年5月28日
    00
  • Vue3 源码导读(推荐)

    下面就详细讲解一下“Vue3 源码导读(推荐)”的完整攻略。 概述 在Vue.js开发过程中,我们都知道Vue.js是一个非常好用的MVVM框架,而Vue.js3的发布也备受关注。Vue.js 3.0采用完全重写的方式,核心代码相比2.x版本变化较大,提高了性能。 导读 为了能够更好地学习Vue.js 3.0,我们需要先了解Vue.js 3.0的源码结构和架…

    Vue 2023年5月27日
    00
  • VueJs路由跳转——vue-router的使用详解

    Vuejs路由跳转——vue-router的使用详解 Vuejs是一个非常优秀的前端框架,通过使用vue-router插件可以帮助我们轻松地实现单页应用SPA(Single-Page Application).本篇攻略将详细介绍Vuejs的路由使用。 Vue-router是什么? vue-router是Vue.js官方的路由插件。它可以轻松的帮助我们实现页面…

    Vue 2023年5月28日
    00
  • vue中优雅实现数字递增特效的详细过程

    下面我将详细讲解“Vue中优雅实现数字递增特效的详细过程”。 步骤一:安装插件 Vue中实现数字递增特效需要使用一个叫vue-countup-v2的插件,这个插件可以实现数字的缓动、格式化等功能。我们可以通过npm安装这个插件,在命令行中输入以下命令: npm install –save vue-countup-v2 步骤二:注册组件 在我们使用这个插件之…

    Vue 2023年5月28日
    00
  • vue如何动态实时的显示时间浅析

    那我来分享一下Vue.js实时显示时间的攻略。 1. 使用Vue.js的生命周期函数 Vue.js生命周期函数是指Vue实例在不同阶段会自动执行的一系列函数。我们可以通过生命周期函数来实现实时显示时间的功能。 具体步骤如下: 1.1 创建一个Vue实例 使用Vue.js创建一个Vue实例,在data属性中新增一个变量time,用于存储当前时间,代码如下: v…

    Vue 2023年5月28日
    00
  • vue使用计算属性完成动态滑竿条制作

    下面我将详细讲解“Vue使用计算属性完成动态滑竿条制作”的完整攻略,包括具体的步骤和示例说明。 步骤 1. 创建Vue实例 首先,我们需要创建一个Vue实例,可以使用以下代码: new Vue({ el: ‘#app’, data: { value: 50 } }); 这里el用来指定Vue实例将会挂载的元素,data则用来定义Vue实例中的数据,这里我们定…

    Vue 2023年5月29日
    00
  • Vue实现可移动水平时间轴

    Vue实现可移动水平时间轴 1. 引入样式文件 在head标签内引入需要用到的样式文件,例如: <head> <link rel="stylesheet" href="timeline.css"> </head> 2. 组件的结构 要实现一个时间轴,我们需要用到一个列表(<ul…

    Vue 2023年5月29日
    00
  • Vue实现docx/xlsx/pdf等类型文件预览功能

    实现Vue对docx/xlsx/pdf等类型文件的预览功能,我们需要使用第三方库来处理这些文件格式,并且需要一个合适的前端组件来显示这些文件。下面是实现该功能的完整攻略: 步骤1:选择合适的前端组件 目前比较流行的前端组件有两种: PDF.js:适用于pdf文件,支持跨浏览器解析和渲染pdf文件。 ViewerJS:适用于docx/xlsx文件等,支持多种文…

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