想要判断是不是 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。


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


相关文章
|
8月前
阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
【2月更文挑战第8天】阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
128 3
|
JSON 小程序 JavaScript
小程序根据返回值是否为空判断标签是否显示
小程序根据返回值是否为空判断标签是否显示
107 0
|
JavaScript Dubbo Java
还用 if(obj!=null) 做非空判断?带你快速上手 Optional 实战性理解
1.前言 2.认识Optional并使用 3.实战场景再现 4.Optional使用注意事项 5.jdk1.9对Optional优化
|
8月前
|
C语言
用continue语句提前结束本次循环
用continue语句提前结束本次循环
162 1
|
8月前
|
Python
使用continue语句提前结束本次循环
在编程中,循环结构是一种非常重要的控制流机制,它允许我们重复执行一段代码,直到满足某个条件为止。而在循环内部,有时我们可能希望在某些特定条件下跳过当前循环的剩余部分,直接进入下一次循环。这时,continue语句就显得非常有用。
103 0
|
8月前
|
前端开发 JavaScript
empty来显示暂无数据简直太好用,阻止用户复制文本user-select
empty来显示暂无数据简直太好用,阻止用户复制文本user-select
|
JavaScript 前端开发
forEach中return会退出循环吗 (改)
forEach中return会退出循环吗 (改)
139 1
element close事件关闭表单,数据替换掉原始列表的数据bug解决
element close事件关闭表单,数据替换掉原始列表的数据bug解决
85 0
|
数据库
【硬着头皮】你还在用size来判断集合是否为空?
【硬着头皮】你还在用size来判断集合是否为空?
111 0
【硬着头皮】你还在用size来判断集合是否为空?
怎样去掉list里重复的数据(多种方法)
怎样去掉list里重复的数据(多种方法)
173 0
怎样去掉list里重复的数据(多种方法)