Vue之el-option下拉框绑定问题

 更新时间:2023年05月20日 10:45:09   作者:tellmewsm  
这篇文章主要介绍了Vue之el-option下拉框绑定问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

el-option下拉框绑定问题

1、正常使用v-for进行遍历下拉框内容

如果需要增加一个自定义的值,则加一个el-option

el-option用法:

参数

说明

类型

可选值

默认值

value

选项的值

string/number/object

label

选项的标签,若不设置则默认与

value

相同

string/number

disabled

是否禁用该选项

boolean

false

在日常使用el-select 中,新增一条option 如果value对应到值是string则 不影响前端显示

<el-option key="6" label="苏州大闸蟹" value="6" />

 遇到下拉框不显示label值,如果绑定的vaule 是number,则需要前面加上: 不然会匹配不到,String不加:没问题

具体v-bind

<el-option key="6" label="苏州大闸蟹" :value="6" />

demo如下:

<template>
  <div>
    <el-button @click="printSelect">调试</el-button>
    //value1 的类型 需要跟:value="item.value" 一样
    <el-select ref="selectValue1" v-model="value1" filterable placeholder="请选择">
      <el-option
        v-for="item in options1"
        :key="item.value"
        :label="item.label"
        :value="item.value"
      />
      //vaule1 为string 则 value="选项6" 前面可以不用加:即v-bind 数据绑定
      <el-option key="选项6" label="扬州炒饭" value="选项6" />
    </el-select>
    <el-select ref="selectValue2" v-model="value2" no-match-text filterable placeholder="请选择">
      //value2为number 前面需要:
      <el-option key="5" label="扬州炒饭" :value="5" />
      <el-option key="6" label="苏州大闸蟹" :value="6" />
    </el-select>
  </div>
</template>

js如下:printSelect方法 测试 页面显示 和 选中之后 数据类型 和值

<script>
export default {
  data() {
    return {
      options1: [{
        value: '选项1',
        label: '黄金糕'
      }, {
        value: '选项2',
        label: '双皮奶'
      }, {
        value: '选项3',
        label: '蚵仔煎'
      }, {
        value: '选项4',
        label: '龙须面'
      }, {
        value: '选项5',
        label: '北京烤鸭'
      }],
      value1: '选项1',
      value2: ''
    }
  },
  created() {
    //修改value1 value2 值,查看页面是否匹配到label
    this.getValue()
  },
  methods: {
    printSelect: function() {
        //打印选中到 类型 值 和label值
      console.log(typeof this.value1 + '-' + this.value1 + '-' + this.$refs.selectValue1.selected.label)
      console.log(typeof this.value2 + '-' + this.value2 + '-' + this.$refs.selectValue2.selected.label)
    },
    getValue: function() {
      this.value1 = '选项2'
      this.value2 = 5
    }
  }
}
</script>

2、测试页面显示如下

第二个下拉框如果改成

<el-option key="5" label="扬州炒饭" value="5" />

则label显示不了label值

如何在el-option中绑定事件

我想实现这样一个功能,我从后台获取到一组数组,想把它放到el-select下拉框当中,然后在每点击一个el-option选项时,完成一次页面的跳转,因此在我的每一个el-option当中,不只是有value和key这两个属性,还带着一些关于跳转的字段信息。

我的目的就是点击下拉框的a页面,然后它给我跳转到’/a’,第一反应肯定就是在el-option当中添加一个点击事件,但结果不尽人意,后来才发现el-option是不能触发事件的。只能在el-select添加一个change事件,change事件的确可以触发,但只能获取到一个数据,就是model绑定的那个值(也就是name属性),那这就很恼火了,我的path怎么去获取呢?

方案 

我的解决方法比较粗暴,直接在el-option里面加上一个span元素,由于它在el-option里面,因此可以继承到item,这时只要在span元素写上{{item.name}},然后设置为行级块元素并填充满整个el-option,并给它添加一个点击事件@click=hancleClick(item),over!!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue3动态监听浏览器窗口变化实例

    vue3动态监听浏览器窗口变化实例

    这篇文章主要给大家介绍了关于vue3动态监听浏览器窗口变化的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用vue3具有一定的参考学习价值,需要的朋友可以参考下
    2023-07-07
  • Vue3+Vite项目使用mockjs随机模拟数据

    Vue3+Vite项目使用mockjs随机模拟数据

    这篇文章主要介绍了Vue3+Vite项目使用mockjs随机模拟数据,需要的朋友可以参考下
    2023-01-01
  • VUEJS实战之构建基础并渲染出列表(1)

    VUEJS实战之构建基础并渲染出列表(1)

    这篇文章主要为大家详细介绍了VUEJS实战之构建基础并渲染出列表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • vue2.0实现点击其他区域关闭自定义div功能

    vue2.0实现点击其他区域关闭自定义div功能

    这篇文章主要介绍了vue2.0实现点击其他区域关闭自定义div功能实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Vue+jsPlumb实现连线效果(支持滑动连线和点击连线)

    Vue+jsPlumb实现连线效果(支持滑动连线和点击连线)

    jsPlumb 是一个比较强大的绘图组件,它提供了一种方法,主要用于连接网页上的元素。本文将利用jsPlumb实现连线效果,同时支持滑动连线和点击连线,感兴趣的可以了解一下
    2023-01-01
  • 让Vue响应Map或Set的变化操作

    让Vue响应Map或Set的变化操作

    这篇文章主要介绍了让Vue响应Map或Set的变化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • vue-cropper插件实现图片截取上传组件封装

    vue-cropper插件实现图片截取上传组件封装

    这篇文章主要为大家详细介绍了vue-cropper插件实现图片截取上传组件封装,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 解决vue $http的get和post请求跨域问题

    解决vue $http的get和post请求跨域问题

    这篇文章主要介绍了解决vue $http的get和post请求跨域问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Vue + Element 实现按钮指定间隔时间点击思路详解

    Vue + Element 实现按钮指定间隔时间点击思路详解

    这篇文章主要介绍了Vue + Element 实现按钮指定间隔时间点击,实现思路大概是通过加一个本地缓存的时间戳,通过时间戳计算指定时间内不能点击按钮,具体实现代码跟随小编一起看看吧
    2023-12-12
  • vue使用ECharts实现折线图和饼图

    vue使用ECharts实现折线图和饼图

    这篇文章主要为大家详细介绍了vue使用ECharts实现折线图和饼图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09

最新评论