浅谈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 相关文章推荐
通过Unicode转义序列来加密,按你说的可以算是混淆吧
May 06 Javascript
javascript打印大全(打印页面设置/打印预览代码)
Mar 29 Javascript
javascript在myeclipse中报错的解决方法
Oct 29 Javascript
js判断是否为ie的方法小结
Jan 13 Javascript
JS比较2个日期间隔的示例代码
Apr 15 Javascript
JavaScript获取网页支持表单字符集的方法
Apr 02 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
JS实现图片上传预览功能
Nov 21 Javascript
jquery实现超简单的瀑布流布局【推荐】
Mar 08 Javascript
JS简单实现数组去重的方法示例
Mar 27 Javascript
js实现简单点赞操作
Mar 17 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
Jul 19 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网站提速三大“软”招
2006/10/09 PHP
PHP文件读写操作之文件写入代码
2011/01/13 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
YUI的Tab切换实现代码
2010/04/11 Javascript
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
详解VUE中v-bind的基本用法
2017/07/13 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
微信小程序实现评论功能
2018/11/28 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
解析Python中的二进制位运算符
2015/05/13 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
使用python对文件中的数值进行累加的实例
2018/11/28 Python
pycharm修改file type方式
2019/11/19 Python
详解Python3中的 input() 函数
2020/03/18 Python
HTTP状态码详解
2021/03/18 杂记
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
大专学生求职自荐信
2014/07/06 职场文书
协商一致解除劳动合同协议书
2014/09/14 职场文书
网聊搭讪开场白
2015/05/28 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
JVM钩子函数的使用场景详解
2021/08/23 Java/Android