想要判断是不是 empty 还真的挺麻烦的

简介: 封装了一个查询控件,如果没有输入查询条件的话,就清空对应的查询条件,如果输入查询条件,则生成对应的查询对象。

封装了一个查询控件,如果没有输入查询条件的话,就清空对应的查询条件,如果输入查询条件,则生成对应的查询对象。


这里就需要判断一下用户是否输入。


可能你会说,这还容易,判断一下是不是 ‘’ 不就可以了吗?


但是没有那么简单,首先就是类型的问题。


不同的组件返回的类型是不一样的,比如 el-number返回的是number类型,就不能直接判断是不是 '' 。


el-cascader 控件返回的是一个数组。


那么首先就要判断类型,然后在做细节判断,于是有了下面的代码:

const _isEmpty = (val) => {
  switch (typeName(val)) {
    case 'null':
    case 'undefined':
      return true
      break
    case 'string':
      return val.length === 0
      break
    case 'number':
    case 'bigInt':
      return isNaN(val)
      break
    case 'array':
      return val.length === 0
      break
    default:
      return false
      break
  }
}


首先要去掉 null 和 underfined。


然后 string 类型可以判断长度,number 类型要用isNaN来判断,否则会出问题。


数组要用长度来判断。


对象嘛,目前好像不会传入对象。


好像还没有判断日期,日期被清空后好像返回null。


目前可以凑合用,以后发现问题再改进。


相关文章
|
6月前
阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
【2月更文挑战第8天】阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
110 3
|
12月前
|
JSON 小程序 JavaScript
小程序根据返回值是否为空判断标签是否显示
小程序根据返回值是否为空判断标签是否显示
90 0
|
JavaScript Dubbo Java
还用 if(obj!=null) 做非空判断?带你快速上手 Optional 实战性理解
1.前言 2.认识Optional并使用 3.实战场景再现 4.Optional使用注意事项 5.jdk1.9对Optional优化
|
27天前
|
前端开发 JavaScript
判断数组为空的方法有哪些?
本文介绍了多种判断数组是否为空的方法,包括使用 `length` 属性、隐式类型转换、`toString()`、`join()`、`every()`、`reduce()`、`filter()`、`some()` 方法以及循环。每种方法都有其适用场景,其中使用 `length` 属性和隐式类型转换最为常见和简单。文章首发于微信公众号“前端徐徐”。
73 2
判断数组为空的方法有哪些?
|
4月前
|
C#
C#中使用IntPtr.Size属性来判断当前系统是32位还是64位
这段代码首先检查 `IntPtr.Size`的值,如果是4,则输出"当前系统是32位";如果是8,则输出"当前系统是64位";如果都不是,就输出"未知系统位数"。
48 0
|
编解码 Ubuntu 算法
怎么判断一个视频是否正常 - 学习使用 ffprobe
经常有运营反馈视频上传到系统之后,变短了,原版视频200分钟,上传上来之后,只有40分钟了。这个时候可以使用 ffprobe 来检查
519 0
怎么判断一个视频是否正常 - 学习使用 ffprobe
|
安全 Java
parallelStream() 踩坑指南,出现null元素,输出list的size不符合预期
parallelStream() 踩坑指南,出现null元素,输出list的size不符合预期
318 0
|
数据库
【硬着头皮】你还在用size来判断集合是否为空?
【硬着头皮】你还在用size来判断集合是否为空?
【硬着头皮】你还在用size来判断集合是否为空?
|
API
我想了解更多判断数组的方式
9021年底了,突然想在这个最后一个月准备一下,试试机会,能否更进一步。所以开始准备一些基础知识,也随带总结出来给各位想换工作的同学。希望大家能找到自己想要的工作。祝大家好运!
144 0
split "." 的时候内容为空如何解决
split "." 的时候内容为空如何解决
166 0