Invalid progress prop: custom validator check failed for prop "status".

1、问题现象

  element-ui组件el-progress的status属性在本地环境调试时在控制台输出中没有看到警告信息,而在测试环境中的控制台输出中看到了警告信息,如下截图所示:

       

2、问题分析

  查看element-ui官网对el-progress的属性介绍:

参数 说明 类型 可选值 默认值
status 进度条当前状态 string success/exception/warning

  查看逻辑代码,在给status属性绑定的变量赋值时为空字符,即status=''。对比status属性的说明,status值是不能为空字符的,它只有三种可选值。

  在本地环境是调试模式,对某些语法校验不是很严格;而在发布模式中,webpack对Vue文件进行编译打包后做了优化处理,对语法校验进行了严格的控制;所以就出现了上述现象。

 

3、问题解决

  为了满足在同一个el-progress组件在不同的状态之间来回切换的功能,我们可以调用setAttribute()和removeAttribute()方法来实现,同时也避免了上述问题的发生。具体的逻辑代码示例如下所示:

changeProgressStatus(status) {
    let progressComponent = document.getElementByTagName('el-progress') // 假设该Vue文件中只有一个el-progress组件,若有多个,最好是通过getElementById()来获取
    if (progressComponent) {
        if (status) {
             progressComponent.setAttribute("status", status);
        } else {
            progressComponent.removeAttribute("status");
        }
   }
}

 

posted @ 2020-06-27 23:42  晒太阳的兔子很忙  阅读(1464)  评论(0编辑  收藏  举报