vue如何监听el-select选择值的变化

目录
  • 监听el-select选择值的变化
    • 方法很简单@change就可以实现
    • @change绑定了currStationChange
  • el-select将选中的值传递到需要的位置
    • 方法一
    • 方法二

监听el-select选择值的变化

最近项目中需要用到监听 el-select 选择值的改变

方法很简单@change就可以实现

<el-select clearable
                       v-model="formData.stationId"
                       @change="currStationChange"
                       :placeholder="$t('deviceManage.device.dlg.stationId')">
              <el-option v-for="item in stationOption"
                         :key="item.value"
                         :label="item.label"
                         :value="item.value">
              </el-option>
</el-select>

@change绑定了currStationChange

如果el-select选中的值发生变化,就会触发currStationChange事件:

currStationChange(val) {
      console.log('currStationChange', val)
      if (val) {
        this.queryUnit(val)
      } else {
        // 所属厂站没有值,清空操作单元的值
        this.formData.unitId = null
        // 所属厂站没有值,清空操作单元下拉框选项
        this.unitTree = []
      }
}

el-select将选中的值传递到需要的位置

方法一

<el-form-item label="选择员工">
         <el-select v-model="deptPersonValue" @change="changeDeptValue">
                <el-option v-for="item in employeeList" :key="item.employeeId"                         :label="item.name" :value="item.employeeId">
                </el-option>
        </el-select>
 </el-form-item>
<p style="font-size:28px; margin-top:40px">{undefined{deptPersonName}}</p>
changeDeptValue(setval) {undefined
         console.log(setval)
        let arr = this.employeeList.filter(item => {undefined
          return item.employeeId == this.deptPersonValue
        //逻辑判断
       this.deptPersonName = arr.length == 0 ? '张静' : arr[0].name
        this.$nextTick(() => {undefined
        //在这里处理echars图片资源使用v-show或者v-if有些数据无法显示的问题(在触发事件            中需要重新初始化)
          this.roundChartFn()
        })
      }
    },

方法二

此方法默认选择第一天数据时会显示第一条数据的id,目前自己还没有解决

<el-form-item label="选择员工">
         <el-select v-model="deptPersonValue" @change="changeDeptValue"
                 value-key="value">
                <el-option v-for="item in employeeList" :key="item.employeeId"                         :label="item.name" :value="item">
                </el-option>
        </el-select>
 </el-form-item>
<p style="font-size:28px; margin-top:40px">{undefined{deptPersonName}}</p>
changeDeptValue(setval) {undefined
         console.log(setval)
        //这里的name根据后端数据字段名来写
        this.deptPersonName = this.deptPersonValue.name
        //逻辑判断
       this.deptPersonName = arr.length == 0 ? '张静' : arr[0].name
      }
    },

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

(0)

相关推荐

  • element-ui中select组件绑定值改变,触发change事件方法

    1.安装vuecli脚手架 2.终端输入 cnpm i element-ui -S 安装element-ui 3.按需引入select组件 在main.js中写入如下代码 /* 导入第三方库开始 */ import 'element-ui/lib/theme-chalk/index.css'; // 按需加载Select组件 import {Select,Option,Dialog,Button} from 'element-ui' Vue.use(Select) Vue.use(Option)

  • vue select选择框数据变化监听方法

    1.使用v-model在select标签上进行数据双向绑定, 2.在data里边添加val:' ', 3.最后就是监听事件的写法,写在methods之外. 附加:(以下图片借鉴他人,非原创) 以上这篇vue select选择框数据变化监听方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • vue 监听 Treeselect 选择项的改变操作

    项目中使用 Treeselect 时,需要获取选项的变化从而触发别的事件,所以需要监听Treeselect 所选择的值. 我使用了watch 来监听 treeselect 绑定的 model ,如果 model 的值发生变化就触发 currDeptChange 事件. <el-form-item prop="deptId" :label="$t('deviceManage.device.table.deptId')+':'"> <treeselec

  • 解决vue elementUI 使用el-select 时 change事件的触发问题

    如下所示: <el-select v-model="level" size="mini" placeholder="请选择" :change="selectChange()"> <el-option v-for="item in select" :key="item.value" :label="item.label" :value="it

  • vue watch监听对象及对应值的变化详解

    如下所示: var vm=new Vue({ data:{ a:1, b:{ c:1 } }, watch:{ a(val, oldVal){//普通的watch监听 console.log("a: "+val, oldVal); }, b:{//深度监听,可监听到对象.数组的变化 handler(val, oldVal){ console.log("b.c: "+val.c, oldVal.c);//但是这两个值打印出来却都是一样的 }, deep:true }

  • angular 实时监听input框value值的变化触发函数方法

    用angulajs + ionic 做了一个登陆页面.效果要通过监听输入框的变化来判断登陆按钮是否可点击.当至少一个输入框为空时登录按钮不可点击.一开始是用的jquery的方法做的,后来发现刷新当前页可以实现效果,但是当经过路由跳转后再回到登陆页后,方法就被执行了. 后来经过查找资料,利用angular.js的$watch方法解决了. 代码大概如下: $scope.input = {//初始化,避免ng-model绑定取不到值 Tel:'', Pwd:'' } $scope.$watch('in

  • angular5 子组件监听父组件传入值的变化方法

    项目中遇到一个问题,就是在ngInit()中调用方法,只调用一次的问题,当父组件传值变化时,并不会再次执行. import { Component, Input, OnChanges, SimpleChanges } from '@angular/core'; import { NavController } from 'ionic-angular'; @Component({ selector: 'cs-img-lazy', templateUrl: 'cs-img-lazy.html' })

  • Vue数据监听方法watch的使用

    watch本身很容易理解, watch负责将视图中的数据与某个函数关联起来 当Vue视图中的数据变化时, 关联的函数会被执行 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>监听方法watch的使用</title> <script src="https://cdn.bootcss.com/

  • vue如何监听el-select选择值的变化

    目录 监听el-select选择值的变化 方法很简单@change就可以实现 @change绑定了currStationChange el-select将选中的值传递到需要的位置 方法一 方法二 监听el-select选择值的变化 最近项目中需要用到监听 el-select 选择值的改变 方法很简单@change就可以实现 <el-select clearable                        v-model="formData.stationId"      

  • vue App.vue中的公共组件改变值触发其他组件或.vue页面监听

    业务场景重现 现在我的App.vue里面有一个头部的公共组件,头部组件里有一个输入框,当我输入词条时,将词条传进App.vue里的<router-view>里的.vue页面,并进行查询获取数据 解决思路如下: 1.如何拿到头部的词条 2.当词条改变时如何触发.vue里的请求数据事件 解决方案 我是用vuex数据仓库来存储词条的,当词条改变时,修改数据仓库里的词条 然后在.vue页面里监听这个词条,当词条改变时触发请求数据的事件 代码 数据仓库store.js import Vue from '

  • 解决vue 更改计算属性后select选中值不更改的问题

    先上代码: //... <body> <div id="qwe"> <select v-model="selected"> <option v-for="item in da" :value="item.value">{{item.value}}</option> </select> <span>{{selected}}</span>

  • VUE实时监听元素距离顶部高度的操作

    效果图如下所示 .html <!-- 监听ref距离顶部高度 --> <div ref="pronbit"> <div>今日热门</div> <div>今日热销</div> </div> .js mounted(){ window.addEventListener('scroll',this.handleScrollx,true) }, methods: { handleScrollx() { cons

  • vue中监听input框获取焦点及失去焦点的问题

    目录 一.背景 二.首先是正宗的监听事件的写法 1.html代码 2.JS部分 三.为什么上次监听焦点事件失败呢 1.不好用的原因 2.新增指令的方法 一.背景 博主之前在用vue的获取焦点,失去焦点的时候,出现了@blur和@focus无效的情况.当时百思不得其解.今天又在写vue页面的时候,突然@blur和@focus又好用了.emmmm,看来这部分值得一战. 二.首先是正宗的监听事件的写法 1.html代码 //这是html的输入框.定义了一个获取焦点,失去焦点的方法 <input pla

随机推荐