Mint-ui:
1、Cell
开发过程中,有时需要修改mt-cell自带的icon和value的标签样式,这时我们可以在<mt-cell></mt-cell>内新添如下标签进行改写:
<si-cell class="user-cell item-cell" title="当前产品" to="/selectproduct" is-link> <i class="siiconfont siicon-product"></i> <span>{{productSelected}}</span> </si-cell>
mt-cell无法直接绑定v-click事件,修改做法可以在<mt-cell></mt-cell>外面包一层<div></div>,在div上绑定click事件,代码可参照第2点search中的代码;
2、Search
通常情况下我们的参数不会直接是一个数组,可能需要对数据进行一些自定义处理,我的写法如下:
<si-search v-model="value" :result="filterResult"> <div v-for="item in filterResult" :key="item" @click="switchCustomer(item)"> <si-cell :title="item"></si-cell> </div> </si-search>
filterResult是计算属性,以此过滤好后台传来的数据后,再将其绑定在cell外的div层,还可以如第1点所说的绑定click事件,此处filterResult进行了中英文过滤,可以通过数据的中文名和英文名两个属性进行搜索。
filterResult() { var that = this; that.defaultResult = []; var re = /^[a-zA-Z]+$/; var data = that.result.data; var val = that.value; if (re.test(val)) { for (var i = 0;i < data.length;i++) { console.log(data[i].englishname); if (new RegExp(val, 'i').test(data[i].englishname)) { that.defaultResult.push(data[i].title); } } return that.defaultResult; } else { for (var i = 0;i < data.length;i++) { that.defaultResult.push(data[i].title); } return that.defaultResult.filter(value => new RegExp(val, 'i').test(value)); } }
3、Tabbar
通常情况下,底部的tabbar栏是需要在多页面复用的,所以可以独立成一个组件,然后通过外部容器作为父组件进行使用,切换tab的同时,tabbar需要向父组件传递选中的一个自定义的tabchange事件
selectTab: function(id) { this.$emit('tabchange', id); }
父组件接收自定义事件tabchange,触发setSelected函数进行数据更新,通过数据驱动视图更新:
<si-tabbar :Selected="selected" @tabchange="setSelected"></si-tabbar>
修改selected的值来切换tab
setSelected: function(data) { this.selected = data; this.tabToggle(data); }
template内有关tab-container里的代码如下:
<div class="page-wrap"> <si-tab-container class="page-tabbar-container" v-model="selected"> <si-tab-container-item id="konwledge"> <si-news></si-news> </si-tab-container-item> <si-tab-container-item id="dashboard"> <si-overview></si-overview> </si-tab-container-item> <si-tab-container-item id="report"> <si-report></si-report> </si-tab-container-item> <si-tab-container-item id="user"> <si-user></si-user> </si-tab-container-item> </si-tab-container> </div>
4、Header
mt-header的title因为是mint-ui框架自带生成的,所以在父组件上我们可能无法在title上绑定click事件,但功能需求中有这样的要求:
虽然应该极力避免直接操作dom,但目前我的解决方法还在页面渲染完成之后,在mounted的生命周期中用原生js绑定click事件,因为此时html元素已经生成,所以可以绑定到title的标签<h1>。
mounted () { // 绑定click事件到mint-ui自动生成的头部标题上 var h1 = document.getElementsByTagName('h1'); var that = this; if (that.headOptions.isTitleIcon == true) { h1[0].addEventListener("click",function() { that.$router.push({path: '/selectproduct'}); }) } },
5、datetime-picker
使用该组件一定要注意mint-ui的版本,2.2.5以上才可以,版本低会导致无法正常调用open方法显示datetime-picker。
open(picker) { this.$refs[picker].open(); }
以上这篇使用mint-ui开发项目的一些心得(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍分享我对JS插件开发的一些感想和心得,包括了分享我对JS插件开发的一些感想和心得的使用技巧和注意事项,需要的朋友参考一下 本文阅读目录: •起因 •如何开发一个轻量级的适用性强的插件 •总结 起因 如果大家平时做过一些前端开发方面的工作,一定会有这样的体会:页面需要某种效果或者插件的时候,我们一般会有两种选择: 1、上网查找相关的JS插件,学习其用法 2、自己造轮子,开发插件。 寻找
本文向大家介绍使用python开发vim插件及心得分享,包括了使用python开发vim插件及心得分享的使用技巧和注意事项,需要的朋友参考一下 vim有各种强大的插件,这不仅归功于其提供的用来编写插件的脚本语言vimL,还得益于它良好的接口实现,从而支持python等语言编写插件。当vim编译时带有+python特性时就能使用python2.x编写插件,+python3则支持python3.x,可
主要内容:1) Docker,2) Go语言,3) Kubernetes,4) etcd,5) beego,6) martini,7) codis,8) delve所有的编程语言都反映了语言设计者对编程哲学的反思,通常包括之前的语言所暴露的一些不足地方的改进。Go语言从发布 1.0 版本以来备受众多开发者关注并得到广泛使用,Go语言的简单、高效、并发特性吸引了众多传统语言开发者的加入,而且人数越来越多。 使用Go语言开发的开源项目非常多。早期的Go语言开源项目只是通过Go语言与传统项目进行C语言
Mint-UI 包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要。通过它,可以快速构建出风格统一的页面,提升开发效率。 真正意义上的按需加载组件。可以只加载声明过的组件及其样式文件,无需再纠结文件体积过大。 考虑到移动端的性能门槛,Mint UI 采用 CSS3 处理各种动效,避免浏览器进行不必要的重绘和重排,从而使用户获得流畅顺滑的体验。 依托 Vue.js 高效的组件化方案,M
本文向大家介绍js使用心得分享,包括了js使用心得分享的使用技巧和注意事项,需要的朋友参考一下 本人学习javascript时间也不是很长,目前就如下5点心得,后续慢慢更新。 1. 给未经声明的变量赋值在严格模式下会导致抛出 ReferenceError 错误(意思是,所有变量都必须用 var 去定义,不能在函数内部定义全局变量); 2. 在严格模式下,不能定义名为 eval 和 argument
本文向大家介绍Python开发常用的一些开源Package分享,包括了Python开发常用的一些开源Package分享的使用技巧和注意事项,需要的朋友参考一下 一般安装完Python后,我会先装一些常用的Package。做个笔记,记录下来,以备查询: Web FrameWorks Tornado,访问:http://www.tornadoweb.org/en/stable/ Flask,访问:ht