头图
  1. Invalid prop: custom validator check failed for prop "percentage"

当出现这种Invalid prop错误的时候,应该去查一下elementUI的文档,看一下prop的取值范围,例如:percentage的取值范围就是0-100之间。我在算百分比的时候,当数据更新的时候,没有即时更新分母,导致算出来的数据存在大于100的值。

  1. Cannot read properties of undefined (reading ‘0’)

代码背景:一个很大的页面嵌套了几个component(func-arrow-table是其中之一)

<func-arrow-table :comparedFunctions.sync="comparedFunctions" :performIndex="performIndex" :sessionList="sessionList"
                  :tableData.sync="tableData" :deleteFunction="deleteFunction" :clickBarChart="clickBarChart"
                  :isGroupData="false"></func-arrow-table>

func-arrow-table的主题是一个el-table,左一列是根据prop comparedFunctions计算compute而来的,表头是根据sessionList渲染出来的,表格的数据则是tableData。这个表格里的comparedFunctions是可以根据用户需要动态增删的,也就是说,comparedFunctions和tableData需要设置为sync。
但是,在实际增添数据的时候,控制台里还是会报错。和mentor研究了一下,原因是因为,el-table需要渲染的数据没有被一把赋值,会有先后顺序,所以,存在当tableData 或者 comparedFunctions以及被传递过去的时候,另一个值还没有准备好,因此访问错误。解决方法如下,将所有el-table画表所需要的数据变成一个结构体,一把传过去。

<func-arrow-table :tableDataSet="tableDataSet" :performIndex="performIndex" :sessionList="sessionList"
                  :deleteFunction="deleteFunction" :clickBarChart="clickBarChart"
                  :isGroupData="true"></func-arrow-table>

灰灰
1 声望0 粉丝

在职全栈开发工程师