浅谈Vue Element中Select下拉框选取值的问题


Posted in Javascript onMarch 01, 2018

之前写了.一个原生的select的,因为展示效果原因,给删除掉了,忘记保存代码了,现在大家展示使用elementUI的下拉框封装一个组件,供咱们项目中经常调用,减少代码量。

html:

<el-select v-model="ite" placeholder="请选择" value-key="mateGroup"> 
   <el-option style="width: auto" :disabled="true" :value="null"> 
    <span style="float: left;font-weight: bold">周次 </span> 
    <span style="float: left; color: #8492a6; font-size: 13px; font-weight: bold"> 开始日期 </span> 
    <span style="float: right; color: #8492a6; font-size: 13px; font-weight: bold"> 截止日期 </span> 
   </el-option> 
   <el-option v-for="(item,index) in res" :key="index" :label="item.mateGroup" v-bind:value="item"> 
    <span style="float: left; color: #8492a6; font-size: 13px">{{ item.mateGroup }} </span> 
    <span style="float: left; color: #8492a6; font-size: 13px"> {{ item.weekStartDate }}  </span> 
    <span style="float: right">{{ item.weekEndDate }}</span> 
   </el-option> 
  </el-select>

Js:

<script>
 import jQuery from 'jquery'
 export default {
  props: ['orgCode', 'farmOrg'],
  data () {
   return {
    res: [],
    ite: '',
    weekse: ''
   }
  },
  created: function () {
   var _self = this
   _self.getWeekYearly()
  },
  watch: {
   ite: function (val) {
    this.weekse = val
    console.log(this.weekse)
    this.getL()
   }
  },
  methods: {
   getWeekYearly () {
    var _self = this
    jQuery.ajax({
     url: '/standard/' + _self.orgCode + '/' + _self.farmOrg + '/getWeekly',
     type: 'GET',
     // contentType: 'application/json',
     dataType: 'json',
     success: function (res) {
      _self.res = res
     },
     fail: function (e) {
//      this.tableFlag = false
      alert('请求失败')
      console.log('查询失败')
     }
    })
   },
   getL: function () {
    var _self = this
    _self.$emit('getL', _self.weekse)
   }
  }
 }
</script>

下来我给大家说一下这个页面都做了什么-

a、在页面刚开始加载时候,通过create 调用了我们的一个方法。发送ajax.获取到下拉框该显示的值。

b、通过给select绑定一个model来监视和获取选中后的值.这里是ite

c、此处第一行option,我们写了一个固定表头, 以下通过option是通过created: funtion() 试页面加载后,立即访问后台,查询数据库,获取的下拉列表值,进行显示。

d、这里的value值.我们绑定成这条数据对象item.

Ps:这里大家肯定会想这不是很简单么?但是这里有一个坑,就是你选取的每一个值都会在下拉框中,显示成最后一个,但是实际value值是你选取的这个对象…看一看,是不是出现了,这个问题。

这个问题出现的原因是,在你option绑定key,和value时。该这些数据中有重复值导致的,造成数据对应不起..

这个问题我们需要怎么解决呢,Select值为对象类型时,需要提供一个 value-key 作为唯一性标识。

e、我们通过watch监听咱们select的model,在这个监听里面调用一个给父组件传值的方法..将咱们的item提供给父组件使用。

以上这篇浅谈Vue Element中Select下拉框选取值的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Ajax执行顺序流程及回调问题分析
Dec 10 Javascript
js或者jquery判断图片是否加载完成实现代码
Mar 20 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
May 15 Javascript
JavaScript中this详解
Sep 01 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
Jun 22 Javascript
js实现百度登录框鼠标拖拽效果
Mar 07 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
Apr 13 Javascript
Vue声明式渲染详解
May 17 Javascript
移动端效果之IndexList详解
Oct 20 Javascript
深入理解Vue 单向数据流的原理
Nov 09 Javascript
Vue父组件如何获取子组件中的变量
Jul 24 Javascript
layui实现三级联动效果
Jul 26 Javascript
vue.js 获取select中的value实例
Mar 01 #Javascript
Vue中的slot使用插槽分发内容的方法
Mar 01 #Javascript
在vue中封装可复用的组件方法
Mar 01 #Javascript
JavaScript判断日期时间差的实例代码
Mar 01 #Javascript
Vue 父子组件的数据传递、修改和更新方法
Mar 01 #Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
Mar 01 #Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
Mar 01 #Javascript
You might like
咖啡语言
2021/03/03 咖啡文化
PHP邮件专题
2006/10/09 PHP
用PHP实现小型站点广告管理(修正版)
2006/10/09 PHP
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
PHP代码维护,重构变困难的4种原因分析
2016/01/25 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
PHP链表操作简单示例
2016/10/15 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
function foo的原型与prototype属性解惑
2010/11/19 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
解决vue项目本地启动时无法携带cookie的问题
2021/02/06 Vue.js
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
python opencv人脸检测提取及保存方法
2018/08/03 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
python自动化之Ansible的安装教程
2019/06/13 Python
使用tensorflow DataSet实现高效加载变长文本输入
2020/01/20 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
小学生考试获奖感言
2014/01/30 职场文书
大学生毕业求职信
2014/06/12 职场文书
毕业典礼邀请函
2015/01/31 职场文书
工作服管理制度范本
2015/08/06 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书
检讨书范文
2019/04/16 职场文书
如何理解Vue前后端数据交互与显示
2021/05/10 Vue.js
python3操作redis实现List列表实例
2021/08/04 Python
Apache自带的ab压力测试工具的实现
2022/07/23 Servers