浅谈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 相关文章推荐
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
May 14 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
Sep 25 Javascript
js控制淡入淡出示例代码
Nov 12 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
Mar 13 Javascript
原生JS和JQuery动态添加、删除表格行的方法
May 28 Javascript
简介JavaScript中的getSeconds()方法的使用
Jun 10 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
Dec 05 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
Oct 19 Javascript
vue 做移动端微信公众号采坑经验记录
Apr 26 Javascript
微信小程序获取地理位置及经纬度授权代码实例
Sep 18 Javascript
JS数组方法join()用法实例分析
Jan 18 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
Jun 24 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
php的header和asp中的redirect比较
2006/10/09 PHP
PHP单链表的实现代码
2016/07/05 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
JQuery设置文本框和密码框得到焦点时的样式
2013/08/30 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
JS去除字符串中空格的方法
2017/02/14 Javascript
AngularJS 异步解决实现方法
2017/06/12 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
JS实现深度优先搜索求解两点间最短路径
2019/01/17 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
如何在Python中编写并发程序
2016/02/27 Python
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
浅谈django orm 优化
2018/08/18 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
Python实现最大子序和的方法示例
2019/07/05 Python
Python中断多重循环的几种方式详解
2020/02/10 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
红色电影观后感
2015/06/18 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
Python+Tkinter制作专属图形化界面
2022/04/01 Python
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers