浅谈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获取div的background-image属性
Oct 15 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
Dec 31 Javascript
13个PHP函数超实用
Oct 21 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
Dec 03 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
Jan 08 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
Aug 25 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
Dec 23 Javascript
node错误处理与日志记录的实现
Dec 24 Javascript
微信小程序 冒泡事件原理解析
Sep 27 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
Dec 02 Javascript
javascript中闭包closure的深入讲解
Mar 03 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实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
详解php反序列化
2020/06/10 PHP
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
2017/06/20 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
详解jquery和vue对比
2019/04/16 jQuery
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
Python实现的HTTP并发测试完整示例
2020/04/23 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
浅析python的Lambda表达式
2019/02/27 Python
python3 实现调用串口功能
2019/12/26 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
Python绘制数码晶体管日期
2021/02/19 Python
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
行政监察建议书
2014/05/19 职场文书
毕业生找工作求职信
2014/08/05 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
个人查摆问题整改措施
2014/10/04 职场文书
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android