问题分析&&前端中的 indexOf() 方法

139 阅读4分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第21天,点击查看活动详情

压力压力压力......烦,之前,那个搜索框,虽然最后是实现了,但,又没完全实现......不知道是哪里少执行了一次方法?页面刚进去的时候,“折叠” 或者 “展开” 并不会加载出来,必须要点击一下页面,才会出现;而且,由于页面比较特殊,同一个页面,只是根据不同表切换了一下,就是说所有表都是在一个大页面里面的,所以,每个表的 “折叠” / “展开” 好像共用了;雪上加霜,页面上又有一个小 bug,哇,现在还要看新项目组的代码,压力压力压力......

共用 “折叠” / “展开” 问题描述

由于主页面左侧,也就是 <el-aside>, 是一个类似菜单项的东西,点开后里面都是一些表名。点击不同表名,在 <el-main> 中会展示该表中的数据,所以所有表都只是影响了 <el-aside>。在 <el-aside> 的里面靠上的位置是 searchBar,现在的效果就是,如果第一张表的主键比较多,点开数据后,由于查询条件较多,会自动折叠,但 “折叠” / “展开” 按钮没有主动加载出来,必须鼠标再点一下页面,“折叠” / “展开” 按钮才加载出来,才可以操作;但这个时候,如果我点一个主键没有那么多的表,由于查询条件较少,不需要折叠,也就不需要 “折叠” / “展开” 按钮,但是由于从刚刚那个主键多的页面切过来的,它还是会展示出来,这时你点一下 “折叠” / “展开”,触发一下事件,它才消失,但如果你继续再点回去查询条件多的那张表,仍然消失状态,必须再点一下才会出来......

思路

感觉就是我的 searchBar 组件中,控制 “折叠” / “展开” 展示的标志,没有及时改动,也就是涉及 “折叠” / “展开” 是否展示的标志 flag 的方法,这个方法在 mounted 钩子函数中,没有执行好,但我看 mounted 钩子中雀食也执行了这个方法,标志也有改变状态.......未解决......

另一个小 bug

另一个问题,好像比较常见?记得之前刚进公司时,测管理端时就发现过这个问题,现在发生在自己身上.....问题就是,比如现在有两张表,数据都较多,形成分页,都有两页的数据。我点击查询第一张表第二页的数据,查询结束后,我再去点第二张表,这时我点过去,它直接展示第二张表第二页的数据,正常来讲,点一张表应该默认加载该表的第一页数据的......

思路

认真想一想,为什么会换表没换页呢?那肯定是在发请求时,当前页 currentPage 没有变,一直都是共用一个值;或者说,在表与表之间,进行请求数据的时候,currentPage 没有变,因为同一张表内,还是可以请求出不同页的数据的。应该就是我在哪里少执行了一次 请求第一页数据 的方法。对比其他页面的代码看,看着看着,发现自己当时写的,我看不懂了,甚至好奇自己这样写居然还能正常运行......然后,就不知道怎么改了......

前端数组中的 indexOf() 方法

感觉说半天都是问题,没有学到什么,正好今天在想怎么改前端的时候,看到 indexOf() 方法,猛地一下,不知道这方法是什么意思了,回顾一下。

方法定义

indexOf() 方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,返回 -1。

语法

arr.indexOf(searchElement[,fromIdnex])

searchElement:要查找的元素
fromIndex:开始查找的位置(默认从0开始)

详细描述

indexOf() 方法查找第一个传入的元素,并返回当前元素的索引,如果没找到就返回 -1。

需要两个参数:
searchElement,要查找的元素,必填;
fromIndex, 非必填,默认值为0,开始查找的位置:

  1. 如果该索引值大于或等于数组长度,不会在数组里查找,直接返回 -1。
  2. 如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即,-1 表示从最后一个元素开始查找,-2 表示从倒数第二个元素开始查找,以此类推,注意:如果参数中提供的索引值是负值,不改变查找顺序,仍然从前往后查。如果抵消后的索引值仍小于0,整个数组都会被查。

压力压力压力,前端实在乏力,怎么感觉有点颓,不行,慢慢来,我知道你很急,但是,你先别急!之前的问题慢慢也都解决了......
希望本文的后半部分能够帮到你 :) ,有错误,望指正!
我向你敬礼啊,Salute!