官方示例:
使用allow-create属性即可通过在输入框中输入文字来创建新的条目。注意此时filterable必须为真。本例还使用了default-first-option属性,在该属性打开的情况下,按下回车就可以选中当前选项列表中的第一个选项,无需使用鼠标或键盘方向键进行定位。

<template><el-selectv-model="value"multiplefilterableallow-createdefault-first-optionplaceholder="请选择文章标签"><el-optionv-for="item in options":key="item.value":label="item.label":value="item.value"></el-option></el-select>
</template><script>export default {data() {return {options: [{value: 'HTML',label: 'HTML'}, {value: 'CSS',label: 'CSS'}, {value: 'JavaScript',label: 'JavaScript'}],value: []}}}
</script>

注意:创建条目这里一定要创建数组,因为这里展示是按数组展示的。(下面会考)
因为这里需求不需要新添加条目,所以把allow-create这个属性去掉了

<el-form-item label="开发人员" style="margin-bottom:0"><el-selectv-model="developer"multiplefilterableremote:allow-create="false"placeholder="请输入开发人员":remote-method="developerRemote":loading="loading"><el-option v-for="v in developerItem":key="v.uid":value="v.uid":label="`${v.userName}(${v.uid})`" /></el-select>
</el-form-item>
<el-form-item label="测试人员" style="margin-bottom:0"><el-select v-model="tester"multiplefilterableremote:allow-create="false"placeholder="请输入测试人员":remote-method="testerRemote":loading="loading"><el-option v-for="v in testerItem":key="v.uid":value="v.uid":label="`${v.userName}(${v.uid})`" /></el-select>
</el-form-item>
developer: [],
developerItem: [],
tester: [],
testerItem: []

这里注明一下,上传时后台需要的是一个字符串,因此在表单提交的时候,要把数组转成字符串。

developer: this.developer.join(','),
tester: this.tester.join(',')

展示的时候:

this.developer= res.developer.split(',');
this.tester = res.tester.split(',');

因此这里就出现了问题,如果后台没有数据的时候,返回的是一个空字符串"",显示就变成了这个样子

因此做了一步非空校验

this.developer = this.developer == '' ? '' : res.developer.split(',');
this.tester = this.tester == '' ? '' : res.tester.split(',');

显示是正常了,但是当选取值的时候,又出现了bug

于是这里才注意到上面的那个定义问题,其实最开始developer 和tester 我定义的是字符串,为了跟后台一直,最后才才成空数组[]去定义的,所以这里非空校验的时候,当数据为空时,应该是空数组。

this.developer = res.developer == '' ? [] : res.developer.split(',');
this.tester = res.tester == '' ? [] : res.tester.split(',');


修改后整个表单提交就OK了。

element-ui中select组件创建条目创建条目为空时报错的解决方案相关推荐

  1. 关于Element UI中select组件中遇到的问题

    问题一:在使用select组件设置多选功能后,窗口抖动问题? 详细描述:在我使用select做多选的功能时出现了窗口抖动的问题,测试的时候发现,在有些人的电脑上抖动,有些人的电脑上不抖,找了很多文档, ...

  2. element ui中select 下拉框在火狐浏览器最后一行显示不完全(谷歌正常)

    在项目开发的时候用到了el-scrollbar组件 并且设置了隐藏横向滚动条 下面展示一些 内联代码片. // 隐藏横向滚动条 .el-scrollbar__wrap {overflow-x: hid ...

  3. 【关于Element UI中el-autocomplete组件】一、el-autocomplete组件添加底部固定按钮

    小伙伴们,不知道大家再开发过程中使用el-autocomplete时候会不会遇到需要在下拉建议值中加入自定义按钮,例如添加按钮之类的,如图: 那么这个按钮是如何加上去的呢? 首先我们在这个建议值列表中 ...

  4. vue中element ui 中tree组件怎么自定义前缀图标呢?

    一 问题 饿了么ui 默认的图标样式是: 1. 一个箭头, 展开自动顺时针旋转90°, 以上的条件是该节点有子节点, 2. 如果是没有子节点的节点, 是默认空白图标的(这里我认为他不是没有, 而是有占 ...

  5. element ui 中 Popover 组件定位不精准的问题

    问题原因 Popover 内部数据动态获取到之后,Popover 尺寸变化导致的定位不准确. 解决方法 动态数据获取到之后,调用 Popover 的 updatePopper() 方法重新计算 Pop ...

  6. element ui中select 下拉选择文字输入筛选

    未修改代码前效果 选择框中不可编辑 如图:加入 filterable allow-create default-first-option 代码如下 <template><div> ...

  7. element UI上传图片Upload组件使用 图片转base64和fale文件处理 formdata数据格式的应用

    element UI上传图片Upload组件使用 & 图片转base64和fale文件处理 & formdata数据格式的应用 1.element UI上传图片Upload组件使用 效 ...

  8. Element UI(桌面组件库)之 三大灵魂拷问

    1. 什么是Element UI 概述 Element,一套为开发者.设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库 Element UI是基于Vue 2.0的 Element UI 提供 ...

  9. Web前端笔记-element ui中table中某列添加a便签进行跳转

    效果是这样的: 这里的文章标题和查看都可以进行跳转. 其中对应的代码如下: <template style="height: 100%"><el-table:da ...

最新文章

  1. 基于matlab 求多边费马点,POJ2420(求多边形费马点) | 学步园
  2. Android高仿大众点评(带服务端)
  3. python 工程结构加固_[原创]某企业级加固[四代壳]VMP解释执行+指令还原
  4. 《梦断代码》读后感2
  5. 【BIEE】由于排序顺序不兼容,集合操作失败
  6. Cadence Allegro编辑元件属性图文教程及视频演示
  7. 8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。
  8. Ios王者微信抢先服务器,王者荣耀iOS微信57区最强王者
  9. 【Axure原型分享】JS地图
  10. PC浏览器播放m3u8
  11. matlab绘制椭球ellipsoid函数
  12. 第1015期机器学习日报(2017-06-29)
  13. 腾讯微信公众平台账号类型说明
  14. 一个简单好用的磨皮祛斑算法理论和python实现
  15. 基于PySimpleGUI和VXI11的示波器小助手开发项目
  16. 通过内容提供者获取手机上的音乐资源
  17. ctf (bugku)(0和1的故事)
  18. PDManer支持的数据库系统
  19. ES analyzer和search_analyzer的比较
  20. MySQL 8.0有什么新功能

热门文章

  1. LeetCode42题动态规划 - 接雨水
  2. 重构之处理IE浏览器兼容问题
  3. Lua:协程,coroutine.create,coroutine.resume, coroutine.yield
  4. UP主分析丨B站“肝视频”第一人,追剧的速度都跟不上他。
  5. SimpleBGC三轴云台用户手册
  6. qpython3使用手册图_qpython 图
  7. MVC、POJO、PO、DTO、TO、BO、VO、DAO、domian、delegate、sql
  8. 为什么80%的企业会选择云产品?
  9. Tomcat安装及环境配置教程
  10. 压缩包里面excel 导出 (跨行跨列)