前端项目开发经验

338 阅读4分钟

从事前端开发多年,记录自己曾经修改过的一些bug,提高开发效率

1.设置了z-index属性,内容过长有滑条滑动,试试滑动的内容是否在头部之上或者悬浮窗上面的情况

2.标题行,内容行,多行文本框,card内容展示,内容过长是否超出界限

1. 可以做成下拉滑动的效果
2. 可以做成省略的效果,单行多行都可以
3. 也可以后台严格控制字数,或者取最优字显示,使整个结构整齐划一(例如标题)

3.有背景图片或者图片注意圆角是否被遮挡,有圆角可以设置overlfow:hidden

4.带数字的时候,做特殊处理,没有值为0,金钱时候加单位,三位数加逗号,保留两位小数

5.消息提示加一个关闭之前的所有提示,不会造成提示过多的情况

this.$message.closeAll()
this.$message.success('操作成功')

6.字段显示数据的时候,先判断数据不存在的时候,先在标签上做判断,标签不存在后面的数据就不用判断了,存在的话,标签判断了的后面的不用判断了,判断是数组的时候要记得容错处理,数据没有定义或者为null时,记得[]

  <span v-if="orderDetail&&orderDetail.activityInfo">
  {{activityInfo.discountActivity.originalAmount | numberFormat}}
  </span>
_____data____

data(){
    retrun{
        productList:[]
    }
}
______method_____

this.productList= (res && res.data)||[]

______htmtl______
// productList不为空数组的时候才展示列表,不然展示为noData空状态
<div v-if="productList.length">
    .......
</div>
<div v-else>搜索不到数据...</div>

7.详情返回一般用直接跳转到列表页面的方式好一点,不然有登录权限的一返回,就直接到登录页面去了

8.存在交互的时候如果条件不满足的时候,最好操作按钮隐藏

9.输入框做限制,字符要求和长度做实时限制最好,只能输入数字的输入其他字符直接清空

10.文案不变的弹窗大小设置一般情况下是要固定宽度高度的,不建议设置百分比,因为弹窗的整个框大小固定了,结构才稳了,样式效果布局不会随高宽变动,效果才好看。移动端看情况而定。空状态距离头部的间距建议用百分比或者vh等单位,因为有的显示屏幕太高或者宽,这样整体的布局显示出来更加美观,不会显得很局促

11.组件之间样式建议封死,加scoped避免样式的污染。深层次样式修改。>>>

.ipt>>>input {
   color red
}

12.canvas一般是在构建的时候设置他的高宽,构建完毕了设置高宽不起效果。如下:

      const canvas = document.getElementById('canvas')
      const shareCode = window.location.href
      QRCode.toCanvas(canvas, shareCode, function (error) {
        if (error) console.error(error)
      })
      canvas.style.width = "108px"
      canvas.style.height = "108px"

13.链接跳转hover高亮,注意是否加打开新的标签(target="_blank"),li里面套a标签,a标签可以加href属性,可以用属性href给a标签定义一个高亮和小手的css样式

<a :href="userInfo.userCenter"
    target="_blank"
    class="clotwo">个人信息</a>
<a href="javascript:void(0)"
    v-if="userData.kingdee"
    class="clotwo"
    @click="goManage">我是金蝶运营</a>
<ul>
     <router-link tag="li"
                         :to="{path:'/index/document/index/' + obj.id}"
                         v-for="(obj,index) in relatedDocsList"
                         :key="index+'relatedDocs'">
              <a target="_blank">{{ obj.nodeName}}</a>
     </router-link>
</ul>

14.滑动吸顶可以用sticky布局,但是嵌套必须是父子关系。不然只能用fixed布局

15.自定义悬浮窗内容太多要多宽度限制

16.elementUI组件el-popover组件内容记得加宽度限制,如果要设置具体样式,添加一个class且必须放在公共样式里。

17.按钮鼠标放过去有手的状态,并有颜色变淡的效果,点击提交确认请求接口的时候,按钮是不能点的,显示加载中,或者出现一定的透明度。

18.删除等重要操作,要有弹窗确认提示

19.一般列表中,双击其中一列是可以进入击详情的

20.在查看状态下,任何数据都是无法操作的,数据可以置灰,按钮可以建议隐藏

21.时间范围,数据要求,要注意前后数据的关联和联动

22.图片建议用2倍图。不然retina屏幕显示不清晰

23.card板块注意圆角边框,以及阴影,图片宽高要定死,这样布局才不会乱

24.

25.

26.

27.

28.

29.

30.

31.

32.

33.

34.

35.

36.

.

.