浅谈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 相关文章推荐
图片自动更新(说明)
Oct 02 Javascript
JavaScript面向对象编程
Mar 02 Javascript
javascript面向对象编程(一) 实例代码
Jun 25 Javascript
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
Oct 24 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
Jan 31 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
Mar 07 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
使用angular-cli webpack创建多个包的方法
Oct 16 Javascript
小程序server请求微信服务器超时的解决方法
May 21 Javascript
vue 解决路由只变化参数页面组件不更新问题
Nov 05 Javascript
JS控制只能输入数字并且最多允许小数点两位
Nov 24 Javascript
在vue中使用Base64转码的案例
Aug 07 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 curl 并发最佳实践代码分享
2012/09/05 PHP
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
JavaScript常用小技巧小结
2014/12/29 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
react-native 封装选择弹出框示例(试用ios&amp;android)
2017/07/11 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
JS实现的input选择图片本地预览功能示例
2018/08/29 Javascript
javascript实现计算器功能
2020/03/30 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
python实现ip查询示例
2014/03/26 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
详解python内置模块urllib
2020/09/09 Python
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
学前班教师的自我鉴定
2013/12/05 职场文书
《灯光》教学反思
2014/02/08 职场文书
餐厅总厨求职信
2014/03/04 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL
Go web入门Go pongo2模板引擎
2022/05/20 Golang
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS