热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

解决ElementUI中Select组件创建条目为空时报错的问题

本文介绍如何在ElementUI的Select组件中使用allow-create属性创建新条目,并处理创建条目为空时出现的错误。我们将详细说明filterable属性的必要性,以及default-first-option属性的作用。

在Element UI的Select组件中,通过设置allow-create属性,用户可以在输入框中输入文字来创建新的条目。为了确保此功能正常工作,必须同时设置filterable属性为true。此外,default-first-option属性可以启用回车键直接选择第一个选项的功能。

<template><el-select v-model="value" multiple filterable allow-create default-first-option placeholder="请选择文章标签"><el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></-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-select v-model="developer" multiple filterable remote :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" multiple filterable remote :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(',');

修改后,整个表单提交和数据显示均正常。


推荐阅读
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 在维护公司项目时,发现按下手机的某个物理按键后会激活相应的服务,并在屏幕上模拟点击特定坐标点。本文详细介绍了如何使用ADB Shell Input命令来模拟各种输入事件,包括滑动、按键和点击等。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 本文详细介绍了如何在ECharts中使用线性渐变色,通过echarts.graphic.LinearGradient方法实现。文章不仅提供了完整的代码示例,还解释了各个参数的具体含义及其应用场景。 ... [详细]
author-avatar
太阳神神神_890
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有