话说mui这个框架的UI确实挺好看的(个人觉得)
所以项目使用了他,结果里面的坑太TM多,不得不说MUI做东西太不用心了,社区不活跃,提问都没人管!;

mui第一个坑:

日期选择器默认值无效:
使用代码跟踪找到里面实现的方法,里面方法确实没毛病,但是callback不会执行!
比如设置日期选择器默认值;

picker.setSelectedValue("2018-06-06")

你会惊奇的发现:只是设置了年份的默认值

代码:

changeDate: function () {let option = {type: "date",beginYear:1950,endYear:2050,value: '2019-10',};let DatePicker = new mui.DtPicker(option);DatePicker.setSelectedValue("1988-11-01",100,function () {});DatePicker.show(function (selectItem) {console.log(selectItem);});
},解决办法:使用定时器一个个的设置;

mui第二个坑:

picker 回调不执行!

picker.pickers[0].setSelectedIndex(index,500,function(){alert('callback');    //不执行});

对于这个坑我也就呵呵了,这也就是出现时间设置默认值月份设置不上的原因;
没找到解决办法,mui社区提交Bug无人问津,唉!

mui第三个坑:

setSelectedValue/setSelectedIndex设置第二个值无效,
对这个我更就无语了!
比如:

picker.pickers[0].setSelectedValue('北京市');
picker.pickers[1].setSelectedValue('海淀区');//你会惊奇的发现 只是设置了北京市 之后变换思路  使用setSelectedIndex 结果也一样

解决办法:

 var picker = new mui.PopPicker({layer: 3});picker.setData(cityData);let address = that.withdrawal.address.split('-');for(var index in cityData) {let item1 = cityData[index];if(address[0] == item1.text) {picker.pickers[0].setSelectedIndex(index);for(var index2 in item1.children){let item2 = item1.children[index2];if(address[1] == item2.text){pcker.pickers[1].setSelectedIndex(index2);for(var index3 in item2.children){let item3 = item2.children[index3];if(address[2] == item3.text){picker.pickers[2].setSelectedIndex(index3);}}}}}
}

解决办法:
使用for in 遍历之后使用

mui第四个坑;

上拉加载下拉刷新无效:
不知道是我代码的问题还是什么问题,反正就是没解决,最后参考饿了么App,使用点击加载更多内容!

mui第五个坑:

轮播图无效:
当你切换路由后页面轮播图就会卡主,解决办法 在vue生命周期函数中执行

mui第六个坑:

mui('#refreshContainer').pullRefresh().endPulldown();
报错 undefined
没有解决;

mui第七个坑:

mui('.mui-scroll-wrapper').scroll().scrollToBottom(0,0,100);  居然无效 呵呵;

mui第八个坑;

<router-link></router-link> 在wap中无法跳转,
因为mui禁用了a跳转,所以在wap中无法使用,
解决办法很简单,使用js跳转,唉 心累啊 果断换框架

light7中坑比较少,

light7第一个:

页面必须有.page元素 否则报错;
解决办法:很简单,就是给每个组件添加一个div.page

light7第二个坑

如果路由模式是hash模式;
就会报错,我就给改成History,改成History之后,无法打包成APP,
解决办法:修改全区配置关闭路由

$.config = {autoInit: true,router:false,}

light7第三个坑

页面中使用了panel里面如果有跳转而且跳转到的页面有上拉加载和下拉刷新的话会无法使用
解决办法:
原因就是因为你跳转之后panel并没有关闭,但是你如果使用 $.closePanel();的话是无效的;
在页面加载的一瞬间打开panel再关闭

$.openPanel("#panel");
$.closePanel();

第二个解决办法:
就是不在panel里面使用a/router-link跳转,而是给他加@click="toPage(url)"
在toPage方法中关闭panel,之后this.$router.push();
这个办法自己没试过,猜想应该是可行的!

第三个解决办法:
目前这个办法应该是最好的了,
既解决了跳转之后无法使用上拉下拉,又使用了a/router-link,就是在跳转的时候先执行一个事件,关闭panel,之后再执行跳转,完美解决!

<router-link @click.native="closePanel" tag="a" to="/collection" external ><li class="item-content item-link"><div class="item-media"><i class="icon icon-f7"></i></div><div class="item-inner"><div class="item-title">我的收藏</div></div></li>
</router-link>
<script>export default {name:'panel',methods:{closePanel:function () {console.log('asdad');$.closePanel();}}}
</script>

更多坑正在挖掘中....(一起跳坑的加群: 814270669)

心累啊,好看的UI都有一堆的坑;

要是大家有好看的ios风格的ui推荐一下,多谢!

uve (mui/light7)写APP的使用心得(大坑);相关推荐

  1. uve (mui/light7)写APP的使用心得(大坑); 1

    话说mui这个框架的UI确实挺好看的(个人觉得) 所以项目使用了他,结果里面的坑太TM多,不得不说MUI做东西太不用心了,社区不活跃,提问都没人管!; mui第一个坑: 日期选择器默认值无效: 使用代 ...

  2. matlab app designer使用心得

    matlab app designer使用心得 最近导师让我在simulink仿真的基础上整一个仿真软件,然后就发现现在matlab已经把之前的GUIDE升级成了app designer,一番摸索踩坑 ...

  3. 【java干货】java怎么写APP

    用Java(APICloud)开发手机APP 近几年手机开发非常流行,可是ios有自己的一套语言,Android虽然可以用Java开发但是也是要需要从google下载插件,总感觉不那么方便,作为Jav ...

  4. php集成极光推送,thinkphp 写APP接口集成极光推送的例子

    下面我们来看一篇关于thinkphp 写APP接口集成极光推送,对于app的数据都得通过接口来实现了,当然也有内置数据库的不过这种非常少了. 最近用Thinkphp写了个App接口用到第三方推送功能, ...

  5. 【Android项目实战 | 从零开始写app(十二)】实现app首页智慧服务热门推荐热门主题、新闻

    说在前面,由于各种adapter,xml布局,bean实体类,Activity,也为了让看懂,代码基本都是"简单粗暴直接不好看",没啥okhttp和util工具类之类的封装,本篇幅 ...

  6. 【Android项目实战 | 从零开始写app (六) 】用TabLayout+ViewPager搭建App 框架主页面底部导航栏

    本篇实现效果: 搭建app框架的方式有很多,本节主要用TabLayout+ViewPager搭建App框架,这种方式简单易实现,在主页中加载Fragment碎片,实现不同功能页面的切换效果图如下: 文 ...

  7. 怎么写app推广软文,有什么好的APP营销策划方案吗?

    在写APP推广软文之前, 首先小编我建议你先弄清楚APP软文是啥,有什么用.你知道吗,因为一篇好的APP推广软文能够在不影响用户体验的基础上达到既定的APP推广效果,所以受到运营者们一致的推崇.所以想 ...

  8. 【Android项目实战 | 从零开始写app(十三)】实现用户中心模块清除token退出登录信息修改等功能

    五一后,被ji金伤了,哇呜呜,还是得苦逼老老实实打工写代码,看下面吧 本篇实现效果: 实现登录用户名展示到用户中心页面上,并且页面有个人信息,订单列表,修改密码,意见反馈发送到服务端,前面登录后,通过 ...

  9. 【Android项目实战 | 从零开始写app一一智慧服务】完结篇系列导航篇、源代码

    目录 文章介绍 涉及知识 系列汇总 项目源代码 文章介绍 本系列小文是一个简单的Android app项目实战,对于刚入门Android 的初学者来说,基础学完了,但是怎么综合的去写一个小app,可能 ...

最新文章

  1. RobotFrameWork控制流之if语句——Run Keyword If
  2. JAVA Cloud微服务项目实战课程 SpringBoot 2.x +SpringCloud 微服务课程
  3. pkcs#11和Cryptoki的介绍
  4. 总结:SpringMVC 中 GET 和 POST 方式请求中的中文乱码问题
  5. linux-shell命令之date【显示/设置系统日期/时间】
  6. 踩坑之路anaconda创建虚拟环境
  7. PHP array_pad()函数与示例
  8. 颜值爆表!Redis 官方可视化工具来啦,功能真心强大!
  9. JAVA 并发编程实践 - 原子变量与非阻塞同步机制 笔记
  10. 响应式十日谈第一日:使用 rem 设置文字大小
  11. 引用百度地图,隐藏百度地图logo
  12. 【IOI 2018】Combo 组合动作(模拟,小技巧)
  13. pytorch笔记:构建LSTM网络,实现训练验证和测试过程
  14. 杜绝企业机密外泄,U-Mail邮件防泄密解决方案
  15. VScode配置C/C++环境(适合大学生C++课程,从零开始配置)
  16. 一.微信小程序一些接口的使用
  17. 蓝桥杯大学本科B组考点整理
  18. Delphi 2007 体验
  19. 五子棋_AI权值算法(2)
  20. 【观察】华为云开天aPaaS:经验即服务“加持”,数字化转型“加速”

热门文章

  1. 设置一个DIV固定在底部,并且左右固定,垂直居中
  2. Vue2.0+SVG实现音乐播放圆形进度条组件,传入实时百分比实现圆圈进度动画效果
  3. BD、人脸识别、KATA、Gray码--程序员杂志文摘
  4. windows 2008 开机启动 Docker Toolbox 并运行容器
  5. 【317】python 指定浏览器打开网页 / 文件
  6. 在 Excel 中如何使用宏示例删除列表中的重复项
  7. SVN使用CVS使用
  8. AngularJS学习!
  9. 近视手术─医学界的一个阴谋? !
  10. git bash 风格调整