util.js 767 字节
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
function findVmById (id, vm) {
  if (id === vm._$id) {
    return vm
  }
  const childVms = vm.$children
  const len = childVms.length
  for (let i = 0; i < len; i++) {
    const childVm = findVmById(id, childVms[i])
    if (childVm) {
      return childVm
    }
  }
}

fxy060608's avatar
fxy060608 已提交
15 16 17 18
export function findElm (component, pageVm) {
  if (!pageVm) {
    return console.error(`page is not ready`)
  }
19 20 21 22 23 24 25 26 27 28 29 30 31 32
  if (!component) {
    return pageVm.$el
  }
  if (__PLATFORM__ === 'app-plus') {
    if (typeof component === 'string') {
      const componentVm = findVmById(component, pageVm)
      if (!componentVm) {
        throw new Error(`Not Found:Page[${pageVm.$page.id}][${component}]`)
      }
      return componentVm.$el
    }
  }
  return component.$el
}