Vue2+Element-ui后台系统常用js方法

el-dialog弹框关闭清空form表单并清空验证

javascript 复制代码
cancelDialog(diaLog, formRef) {
  this[diaLog] = false
  if (formRef) {
    this.$refs[formRef].resetFields()
  }
}

页面使用:

javascript 复制代码
<el-dialog 
  :visible.sync="addSubsidyDialog.dialog" 
  @close="cancelDialog(addSubsidyDialog.dialog, 'subsidyRef')"
>
   <el-form ref="subsidyRef"></el-form>
</el-dialog>

@close传参说明:

需要关闭的弹窗this、关闭后需要清空的form表单

el-date-picker限制结束时间不能小于开始时间

template:

javascript 复制代码
<div>
  <el-date-picker
    v-model="innerBeginDate"
    type="date"
    placeholder="开始日期"
    value-format="yyyy-MM-dd"
    :picker-options="pickerStartOptions(innerEndDate)"
    :editable="false"
  />
  <span class="ml10 mr10">-</span>
  <el-date-picker
    v-model="innerEndDate"
    type="date"
    placeholder="结束日期"
    value-format="yyyy-MM-dd"
    :picker-options="pickerEndOptions(innerBeginDate)"
    :editable="false"
  />
</div>

方法:

javascript 复制代码
pickerStartOptions(endTime) {
  return {
    disabledDate(time) {
      if (endTime) {
        return time.getTime() > new Date(endTime).getTime()
      }
    }
  }
},
pickerEndOptions(startTime) {
  return {
    disabledDate(time) {
      if (startTime) {
        return time.getTime() < new Date(startTime).getTime()
      }
    }
  }
},

表单筛选项重置

javascript 复制代码
resetQuery() {
  this.queryParam = this.$options.data().queryParam
  this.handleQuery()
}

以下方法自行修改

queryParam为 form表单筛选对象

handleQuery为 重置后重新搜索

过滤掉对象空值

javascript 复制代码
filterNonEmptyValues(obj) {
  return Object.fromEntries(
    Object.entries(obj).filter(
      ([_, value]) =>
        value !== null &&
        value !== undefined &&
        !(typeof value === 'string' && value.trim() === '') &&
        !(Array.isArray(value) && value.length === 0)
    )
  )
}

页面使用:

javascript 复制代码
const obj = {
  a: '',
  b: [],
  c: null,
  d: undefined,
  f: 123,
  e: 789,
  q: '  '
};

const filteredObj = filterNonEmptyValues(obj);
console.log(filteredObj);

输出:
{
  f: 123,
  e: 789
}

感谢你的阅读,如对你有帮助请收藏+关注!

只分享干货实战精品从不啰嗦!!!

如某处不对请留言评论,欢迎指正~

博主可收徒、常玩QQ飞车,可一起来玩玩鸭~

相关推荐
码路飞6 分钟前
玩了一圈 AI 编程工具,Background Agent 才是让我真正震撼的东西
前端·javascript
UCloud_TShare9 分钟前
优刻得发布云搜索服务CSS:面向AI时代的企业级搜索基础设施
前端·css·人工智能
林恒smileZAZ16 分钟前
Three.js实现更真实的3D地球[特殊字符]动态昼夜交替
开发语言·javascript·3d
月月大王的3D日记18 分钟前
别再复制粘贴了,从零拆解 3D 场景的诞生过程
javascript
木斯佳23 分钟前
前端八股文面经大全:字节暑期前端一面(2026-04-21)·面经深度解析
前端·面试·校招·面经·实习
昭昭日月明41 分钟前
前端仔速通 Python
javascript·python
SailingCoder1 小时前
Electron 安全IPC核心:contextBridge 安全机制
javascript·安全·electron
Jolyne_1 小时前
前端从0开始的LangChain学习(一)
前端·langchain
掘金一周1 小时前
掘友们,一人说一个你买过夯到爆的东西 | 沸点周刊 4.23
前端·人工智能·后端
Developer_Niuge1 小时前
告别翻不动的 1000+ 书签:开源 Chrome / Edge 浏览器书签管理插件 Smart Bookmark 0.2 发布
前端·后端