美文网首页前端开发那些事儿每天学一点Vue3
想要判断是不是 empty 还真的挺麻烦的

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

作者: 自然框架 | 来源:发表于2021-11-30 13:05 被阅读0次

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

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

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

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

不同的组件返回的类型是不一样的,比如 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。
目前可以凑合用,以后发现问题再改进。

相关文章

网友评论

    本文标题:想要判断是不是 empty 还真的挺麻烦的

    本文链接:https://www.haomeiwen.com/subject/rykdxrtx.html