进宝

进宝 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

进宝 赞了回答 · 2020-07-04

解决vue-baidu-map 去掉点击时 地址详情

试一下给地图组件加一个属性 <baidu-map :mapClick="false" />

关注 2 回答 1

进宝 提出了问题 · 2020-05-06

vue audio 调用 play 报错

1588741952(1).jpg

图中1的位置不加索引会报 DOMException: play() failed because the user didn't interact with the document first

1588742032(1).jpg
加了索引又报play of undefined

在vue里怎么调用play()播放呢?

关注 3 回答 3

进宝 关注了问题 · 2020-04-30

vue 中使用 audio 调用play, 报undefined

<audio ref="audios" data-original="音频地址"></audio>

this.$refs.audios.play() 调用报错

Uncaught (in promise) TypeError: Cannot read property 'play' of undefined

vue 中使用 audio 调用play方法, 报undefined
这是什么原因?

关注 2 回答 1

进宝 提出了问题 · 2020-04-30

vue 中使用 audio 调用play, 报undefined

<audio ref="audios" data-original="音频地址"></audio>

this.$refs.audios.play() 调用报错

Uncaught (in promise) TypeError: Cannot read property 'play' of undefined

vue 中使用 audio 调用play方法, 报undefined
这是什么原因?

关注 2 回答 1

进宝 赞了回答 · 2020-04-17

解决根据条件过滤数组

您的route的结构蛮奇怪的,为什么children套了两层,你的条件又只有一层。或许你应该先优化下数据结构,这样过滤的函数能简单点,递归就行了。现在这样还真不太好递归

var arr = [
    {
      name: '设备监控',
      child: [
        { name: '历史数据' },
        { name: '故障预警' },
        { name: '参数设置' }
      ]
    },
    {
      name: '定时场景',
      child: [{ name: '定时日志' }]
    }
  ];
var asyncRoute = [
  {
    name: '设备监控',
    redirect: '/devmon',
    children: [{
      path: '/devmon',
      redirect: '/devmon/realtime',
      children: [{
        path: '/devmon/realtime',
        name: '实时监控'
      },{
        path: '/devmon/hisdata',
        name: '历史数据'
      },
      {
        path: '/devmon/faultalarm',
        name: '故障预警'
      },
      {
        path: '/devmon/params',
        name: '参数设置'
      }]
   }]
  },
  {
    path: '/timer',
    name: '定时场景',
    redirect: '/timer/index',
    children: [{
      path: '/timer/index',
      redirect: '/timer/list',
      children: [ {
        path: '/timer/log',
        name: '定时日志'
      },  {
        path: '/scene/log',
        name: '场景日志'
      }
      ]
    }]
  },
  {
    path: '/hazard',
    name: '隐患分析',
    redirect: '/hazard/index',
    children: [{
      path: '/hazard/index',
      children: [{
        path: '/hazard/patrol',
        name: '隐患巡查'
      }, {
        path: '/hazard/analysis',
        name: '隐患统计'
      }
      ]
    }]
  }
]

function filterRoute(route, names) {
  return route.reduce((res,v) => {
    var n = names.find(o => o.name == v.name)
    if( n ) {
      res.push({
        ...v,
        children: v.children.map(c => ({...c, children: c.children.filter(item => n.child.some(child => child.name == item.name))}))
      })
    }
    return res;
  }, [])
}

filterRoute(asyncRoute, arr)
// 利用递归
function filterRoute(route, names) {
  return route.reduce((res,v) => {
      var n = names.find(o => o.name == v.name);
      var {children} = v;
    if( n ) {
        res.push(!children ? {
            ...v
        } : {
            ...v,
            children: [{
                ...children[0],
                children: filterRoute(children[0].children, n.child)
            }]
        })
    }
    return res;
  }, [])
}

关注 3 回答 2

进宝 回答了问题 · 2020-04-16

一个数组如何过滤另一个数组中的值,如下图和代码

楼主怎么解决的???

关注 3 回答 2

进宝 提出了问题 · 2020-04-16

解决根据条件过滤数组

const arr = [
    {
      name: '设备监控',
      child: [
        { name: '历史数据' },
        { name: '故障预警' },
        { name: '参数设置' }
      ]
    },
    {
      name: '定时场景',
      child: [{ name: '定时日志' }]
    }
  ]
const asyncRoute = [
  {
    name: '设备监控',
    redirect: '/devmon',
    children: [{
      path: '/devmon',
      redirect: '/devmon/realtime',
      children: [{
        path: '/devmon/realtime',
        name: '实时监控'
      },{
        path: '/devmon/hisdata',
        name: '历史数据'
      },
      {
        path: '/devmon/faultalarm',
        name: '故障预警'
      },
      {
        path: '/devmon/params',
        name: '参数设置'
      }]
   }]
  },
  {
    path: '/timer',
    name: '定时场景',
    redirect: '/timer/index',
    children: [{
      path: '/timer/index',
      redirect: '/timer/list',
      children: [ {
        path: '/timer/log',
        name: '定时日志'
      },  {
        path: '/scene/log',
        name: '场景日志'
      }
      ]
    }]
  },
  {
    path: '/hazard',
    name: '隐患分析',
    redirect: '/hazard/index',
    children: [{
      path: '/hazard/index',
      children: [{
        path: '/hazard/patrol',
        name: '隐患巡查'
      }, {
        path: '/hazard/analysis',
        name: '隐患统计'
      }
      ]
    }]
  }
]

怎么根据arr中的name, 把asyncRoute中包含对应的name过滤成 对应的数组, 求解好方法, 结果如下

const asyncRoute = [
  {
    name: '设备监控',
    redirect: '/devmon',
    children: [{
      path: '/devmon',
      redirect: '/devmon/realtime',
      children: [{
        path: '/devmon/hisdata',
        name: '历史数据'
      },
      {
        path: '/devmon/faultalarm',
        name: '故障预警'
      },
      {
        path: '/devmon/params',
        name: '参数设置'
      }]
   }]
  },
  {
    path: '/timer',
    name: '定时场景',
    redirect: '/timer/index',
    children: [{
      path: '/timer/index',
      redirect: '/timer/list',
      children: [ {
        path: '/timer/log',
        name: '定时日志'
      }
      ]
    }]
  }

关注 3 回答 2

进宝 提出了问题 · 2019-10-14

el-table 请求数据回来前,会闪现一下暂无数据呢?

有什么办法避免呢???

关注 3 回答 3

进宝 提出了问题 · 2019-04-25

微信小程序 第一次登陆过,第二次打开的应该直接首页,但是会闪现一下登陆页面一下才到首页,这怎么解决

小程序登录过,在打开的时候进入的是首页,但是重定向之后会闪现一下登陆页面才到首页

各种定向方法都用,都会闪现

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

怎么不让闪现,直接到首页呢???

关注 4 回答 2

进宝 提出了问题 · 2019-04-25

微信小程序 第一次登陆过,第二次打开的应该直接首页,但是会闪现一下登陆页面一下才到首页,这怎么解决

小程序登录过,在打开的时候进入的是首页,但是重定向之后会闪现一下登陆页面才到首页

各种定向方法都用,都会闪现

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

怎么不让闪现,直接到首页呢???

关注 4 回答 2

认证与成就

  • 获得 0 次点赞
  • 获得 6 枚徽章 获得 0 枚金徽章, 获得 1 枚银徽章, 获得 5 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2018-04-11
个人主页被 146 人浏览