此文章是vip文章,如何查看?  

1,点击链接获取密钥 http://nicethemes.cn/product/view29882.html

2,在下方输入文章查看密钥即可立即查看当前vip文章


工作问题记录(1)

  • 时间:
  • 浏览:
  • 来源:互联网

修改树形结构字段名

const ass = (data) => {
    var arr = []
    data.map((item, index) => {
        let obj = {}
        obj.id = item.FID  //FID为后台传的字段名
        obj.title = item.FMenuName
        obj.children = item.Children  ? ass(item.Children) : []; 
        arr.push(obj)
    })
    return arr
}
console.log(ass(data))

解决ios input框点击完成后,底部一大片留白的问题

handleFocus(event){
    let e = event.currentTarget
    setTimeout(() => {
        e.scrollIntoView({
            block:'start',
            behavior:'smooth'
        })
    },300)
},
handleblur(){
    let e = event.currentTarget
    setTimeout(() => {
        e.scrollIntoView({
            block: 'start',
            behavior: 'smooth'
        });
    }, 300);
    window.scrollTo(document.getElementById('contentTop').scrollTop, 0)
}

监听手机端返回键

window.addEventListener('popstate', this.goBack, false);

全局引入js方法

import ios from '@/utils/ios.js';
Vue.prototype.ios = ios;

解决ios滚动穿透问题。(弹窗滚动导致背景跟着滚动)

  • 新建touchmoveFix.js文件
const touchFix = {
  bind: function (el, binding, vnode) {
    el.addEventListener('touchmove', (e) => {
      // 滚动容器阻止冒泡,因此是否prevent由当前函数决定
      e.stopPropagation();
      let scrollEl = e.currentTarget;
      // 判定当前滚动容器是否可以滚动
      if(scrollEl.scrollHeight <= scrollEl.offsetHeight) {
        // 不能滚动的时候依然需要阻止滚动穿透
        e.preventDefault();
      }
    }, false);
  }
};
  • 引入import touchFix from ‘…/…/utils/touchmoveFix’
// 弹窗使用
<mt-popup   v-touch-fix>
</mt-popup>

directives: {
   touchFix
},

本文链接http://element-ui.cn/news/show-530702.aspx