若依前端框架
开发报错截图
异常表现
- 管理员功能正常,某个用户异常(权限配置少些)
- 初次加载不异常,二次查询条件下,特定数据下异常。
大致确定大概与v-hasPermi,以及v-if 有关系。
找到问题
<el-button
v-if="scope.row.applyStatus === 5 && scope.row.enabledState === 1"
v-hasPermi="['updateMaterialApply']"
class="operation blue"
type="text"
size="small"
@click="loadMaterialPage(scope.row, 'edit')"
>
修改
</el-button>
<span
v-else
v-hasPermi="['updateMaterialApply']"
class="operation grey"
>修改</span>
1、在判断权限的同时,使用的v-if,于是报了这个错。
2、检查元素发现 若依框架v-hasPermi 是使用的display:none,在v-if为false时。
3、如果我们后续的js操作了v-if控制的dom元素,将会因为该部分dom元素不存在而抛出上述异常。
所以,将v-if改成v-show就可以了。