doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:5312回复:0

[vue]vue中el-select 如何根据给定的值,选中对应选项

楼主#
更多 发布于:2020-07-31 10:03
vue中,实现数据的修改,想让下拉列表选择对应的数据项

方法如下:
1. data里设置对应的属性

editform: {
       deptNo: '',
       name: '',
       descript: '',
       status: 0
     }


2. 在el-select中,使用v-model与对应属性editform.status关联即可,系统会默认选中value值与editform.status值相同的项目

<el-select v-model="editform.status" autocomplete="off">
   <el-option  label="有效" value="1"></el-option>
   <el-option  label="无效" value="0"></el-option>
</el-select>


问题:
   下拉框,显示的是数字,而不是对应的选项


原因:
   editform.status的值,与value值的类型不一致。editform.status是Number类型,value是字符串类型,所以没有匹配到,对应的value

解决方案:
   将editform.status 变成字符串,就可以正常的匹配了。
  但在这里,我犯了一个错,纠结了好久。我直接改了data时的editform.status 的默认值,默认为'0'.  但是还是不生效,纠结了好久。最后才发现,我做的是编辑,在点编辑按钮后,会重新给editform.status 赋值,而那里赋值的还是数字。
 
具体代码如下:
edit: function (obj) {
     this.dialogFormEditVisible = true
     this.editform.deptNo = obj.DeptNo
     this.editform.name = obj.DeptName
     this.editform.descript = obj.DeptDescript
     this.editform.status = obj.Status.toString()
   },
在给this.editform.status赋值时,将obj.Status的值用toString()的方法,转成字符串类型即可
 
总结:人人都有犯傻了的时候,所以,如果真的遇到解决不了的bug, 请先休息会,放松下,你的大脑是想休息了。哈哈
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号