js从完整路径中截取文件名和后缀,并且根据后缀添加类型图标

工作中遇到的截取文件名加后缀,写之后记录一下
先看一下效果

前面是我自己加的word图标和索引,我是用vue写的项目。从父组件里传来的对象是当前选中项的各项参数,watch监听该对象,当他变化时,添加各种参数到子组件中自己的数组里。先看下代码

    data(){
      return{
        delImg,
        excel,
        ppt,
        word,
        pdf,
        del,
        fileList:[],
      }
    },
    props: {
      applyInfo: {
        type: Object,
      }
    },
    watch:{
      //截取文件名称加后缀
      applyInfo(){
        if(this.applyInfo){
          let list = this.applyInfo.attachment.split(',')
          list.forEach(item =>{
            let type = item.split('.')[item.split('.').length - 1]
            if(type=='pdf'){
              this.fileList.push({imgUrl:this.pdf,nm:item.slice(item.indexOf('_') + 1), url: item})
            }else if(type=='doc'||type=='docx'){
              this.fileList.push({imgUrl:this.word,nm:item.slice(item.indexOf('_') + 1), url: item})
            }else if(type=='ppt'||type=='pptx'){
              this.fileList.push({imgUrl:this.ppt,nm:item.slice(item.indexOf('_') + 1), url: item})
            }else if(type=='xls'||type=='xlsx'){
              this.fileList.push({imgUrl:this.excel,nm:item.slice(item.indexOf('_') + 1), url: item})
            }
          })
        }
        console.log(this.fileList)//添加后的数组

      },
    },

data里定义的是一些常见的图标,和要用到的数组。
watch
如果有多条路径,之间是用‘,’隔开的,所以将其分割放入临时数组中,循环该数组,分割出后缀名并加以判断,在判断后,使用indexOf得到_后面的位置,取出该值就是我们想的到的文件名加后缀,然后将这些参数push进我们的数组中,并打印得到
在这里插入图片描述

得到我们所要的参数了,非常简单。
若果有问题可以留言,谢谢大家

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值