网络编程
位置:首页>> 网络编程>> JavaScript>> mint-ui在vue中的使用示例

mint-ui在vue中的使用示例

作者:被水淹死的大白鲨  发布时间:2023-07-02 16:52:17 

标签:vue,mint,ui

本文介绍了mint-ui在vue中的使用示例,分享给大家,具体如下:

首先放上 mint-ui中文文档

近来在使用mint-ui,发现部分插件在讲解上并不是很详细,部分实例找不到使用的代码。github上面的分享,里面都是markdown文件,内容就是网上的文档

刚好自己在用,网上能找到的资料也不是很详细,自己写写咯。持续更新...emmmmm,应该可以吧,我这么懒。希望能给别人带来帮助。

介绍一下mint-ui的特性

特性介绍

  1. Mint UI 包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要。通过它,可以快速构建出风格统一的页面,提升开发效率。

  2. 真正意义上的按需加载组件。可以只加载声明过的组件及其样式文件,无需再纠结文件体积过大。

  3. 考虑到移动端的性能门槛,Mint UI 采用 CSS3 处理各种动效,避免浏览器进行不必要的重绘和重排,从而使用户获得流畅顺滑的体验。

  4. 依托 Vue.js 高效的组件化方案,Mint UI 做到了轻量化。即使全部引入,压缩后的文件体积也仅有 ~30kb (JS + CSS) gzip。

这个组件库,适合于基于vue的手机页面开发。

1.cell的使用

先丢个图↓

mint-ui在vue中的使用示例

在做switch的时候,想做成文字和switch在列表的两侧。效果出不来,发现有很多人跟我一样死命的钻switch的文档,以及找switch的相关资料。然后实际上,应该用cell才对。


<mt-cell title="开关状态">
 <mt-switch v-model="openValue" @change="changeStatus"></mt-switch>
</mt-cell>

利用cell的布局,和switch相结合。产生下面的结果。

mint-ui在vue中的使用示例 

2.Infinite scroll 和 Navbar结合使用。

Navbar 是这样的↓

mint-ui在vue中的使用示例

Infinite scroll 是这样的↓

mint-ui在vue中的使用示例

两个结合起来,就是把Infinite scroll嵌套在 <mt-tab-container-item id="1"></mt-tab-container-item> 里面,然后效果就出来了。

简单的就是酱紫的。


<mt-navbar v-model="selected" >
 <mt-tab-item id="1">选项一</mt-tab-item>
 <mt-tab-item id="2">选项二</mt-tab-item>
</mt-navbar>
<mt-tab-container v-model="selected">
 <mt-tab-container-item id="1">
   <div v-infinite-scroll="loadMore"
       infinite-scroll-disabled="loading"
       infinite-scroll-distance="10"
       class="content"
   >
   </div>
 </mt-tab-container-item>
 <mt-tab-container-item id="2">
   <div v-infinite-scroll="loadMoreReceive"
       infinite-scroll-disabled="loadingReceive"
       infinite-scroll-distance="10"
       class="content"
   >
   </div>
 </mt-tab-container-item>
</mt-tab-container>

这样基本页面就出来了。

mint-ui在vue中的使用示例

有个小问题就是,这是一个页面,滚动条是共用的。也就是说,你在选项卡一拉出来好几页数据之后,再到选项卡二,滚动条的位置是不会变的,你的选项卡二的内容,会被拉出来好多页的数据。如果某个选项卡的数据比较少,会影响到其他选项卡的数据加载。

这个问题,找了半天,最后发现一个和简单的办法。在Infinite-Scroll里面,添加一个 v-if=selected == id ,把Infinite-scroll和选项卡的id、selected相结合,选中的selected与id对应的时候,才进行对应的Infinite-Scroll。

Infinite-Scroll的代码如下:


<div v-infinite-scroll="loadMore"
 infinite-scroll-disabled="loading"
 infinite-scroll-distance="10"
 class="content"
 v-if="selected == 1"
>

根据需要,v-if的条件进行修改。

v-infinite-scroll 所绑定的方法,会在vue的mounted之后,before之前第一次执行,不需要另外调用。

3.Picker,地址 * 联动

这里有个很简洁的 * 联动,之前要用的时候没找到。自己写的一个,好麻烦。先放图

mint-ui在vue中的使用示例

首先获取地址


getRegion(){
 var root=this;
 <!-- 通过/region 接口获取 * 地址,然后存入regionArr -->
 http.get("/region").then(function (data) {
   root.regionArr=data.data.data;
   <!-- 存放省 -->
   for(var i=0;i<root.regionArr.length;i++){
     root.region_province[i]=root.regionArr[i].value;
   }
   <!-- 存放市 -->
   for(var i=0;i<root.regionArr[0].children.length;i++){
     root.region_city[i]=root.regionArr[0].children[i].value;
   }
   <!-- 存放区 -->
   for(var i=0;i<root.regionArr[0].children[0].children.length;i++){
     root.region_zone[i]=root.regionArr[0].children[0].children[i].value;
   }
   root.region=[
     {
       flex: 1,
       values: root.region_province,
       textAlign: 'left',
       className:'picker_Slot'

},
     {
       divider: true,
       content: '-',
       className: 'slot2'
     },
     {
       flex: 1,
       values: root.region_city,
       textAlign: 'center',
       className:'picker_Slot'
     },
     {
       divider: true,
       content: '-',
       className: 'slot2'
     },
     {
       flex: 1,
       values: root.region_zone,
       textAlign: 'right',
       className:'picker_Slot'
     }
   ]

});

},

然后设置 * 地址


onValuesChange(picker, values) {
 var root=this;
 var str_1=[];
 var str_2=[];
 for(var i in root.regionArr){
   // 获取省,并重置市级名称
   if(root.regionArr[i].value == values[0]){
     for(var j in root.regionArr[i].children){
       str_1.push(root.regionArr[i].children[j].value);
       // 获取市级,并重置区级的名称
       if(root.regionArr[i].children[j].value == values[1]){
         // 当市级下不存在区名市,置空。
         if(root.regionArr[i].children[j].children != null){
           for(var k in root.regionArr[i].children[j].children){
             str_2.push(root.regionArr[i].children[j].children[k].value);
           }
         }else{
           str_2.push(" ");
         }
       }
     }
     picker.setSlotValues(1, str_1);
     picker.setSlotValues(2, str_2);
   }
 }

// 赋值,初始时置为上一页返回的值
 root.$set(root.printerMessage,'province',values[0] == null ? root.printerMessage.province : values[0]);
 root.$set(root.printerMessage,'city',values[1] == null ? root.printerMessage.city : values[1]);
 root.$set(root.printerMessage,'area',values[2] == null ? root.printerMessage.area : values[2]);
}

来源:http://www.cnblogs.com/hhw2017/p/8716354.html

0
投稿

猜你喜欢

  • os包想要使用os包一样要先导入:import osos包下可以直接调用的函数下面介绍一下os包中可以直接调用的函数:例子:例子:例子:注意
  • 本文实例讲述了PHP队列用法。分享给大家供大家参考。具体分析如下:什么是队列,是先进先出的线性表,在具体应用中通常用链表或者数组来实现,队列
  • 最近的答题赢钱很火爆,我也参与了几次,有些题目确实很难答,但是10秒钟的时间根本不够百度的,所以写了个辅助挂,这样可以出现题目时自动百度,这
  • MongoDB是一个文档型数据库,是NOSQL家族中最重要的成员之一,以下代码封装了MongoDB的基本操作。MongoDBConfig.j
  • 一、什么是集成学习集成学习是一种技术框架,它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务,一般结构是:先产
  • 本文实例讲述了Java实现从数据库导出大量数据记录并保存到文件的方法。分享给大家供大家参考,具体如下:数据库脚本:-- Table &quo
  • 1 , javascript字符集:javascript采用的是Unicode字符集编码。为什么要采用这个编码呢?原因很简单,16位的Uni
  • 本文实例为大家分享了python批量处理图片的具体代码,供大家参考,具体内容如下公司的一个项目要求把所有4096x4096的图片全部转化成2
  • MySQL内部复制功能是建立在两个或两个以上服务器之间,通过设定它们之间的主-从关系来实现的。其中一个作为主服务器,其它的作为从服务器。本节
  • 1、XML 是什么?XML仅仅是一种数据存放格式,这种格式是一种文本(虽然XML规范中也提供了存放二进制数据的解决方案)。事实上有很多文本格
  • 最近我在用梯度下降算法绘制神经网络的数据时,遇到了一些算法性能的问题。梯度下降算法的代码如下(伪代码):def gradient_desce
  • 窗口背景主要包括,背景色与背景图片,设置窗口背景有三种方法使用QSS设置窗口背景使用QPalette设置窗口背景实现PainEvent,使用
  • 在 Python 中一切都可以看作为对象。每个对象都有各自的 id, type 和 value。id: 当一个对象被创建后,它的 id 就不
  • 1. 前沿移动均线是股票最进本的指标,本文采用numpy.convolve计算股票的移动均线2. numpy.convolvenumpy.c
  • 随着大数据时代的到来,数据将如同煤电气油一样,成为我们最重要的能源之一,然而这种能源是可以源源不断产生、可再生的。而Python爬虫作为获取
  • 磁盘搜索是性能的很大瓶颈。这个问题在数据大量增长以至于无法使用有效的缓存时尤为明显。或多或少随即访问大数据库时,就必然会有至少一次磁盘搜索来
  • 子类在多继承中使用MRO机制在Python中,当定义一个类时,可以指定它的父类。一个子类继承了其所有父类的属性和方法,并且可以添加自己特有的
  •  pop()方法从列表移除并返回最后一个对象或obj。语法以下是pop()方法的语法:list.pop(obj=list[-1])
  • 前言Python真的是无所不能,原因就是因为Python有数目庞大的库,无数的现成的轮子,让你做很多很多应用都非常方便。wifi跟我们的生活
  • 开发目标:实现小红帽所挂脚本的自动生成下图为生成的最终目标本项目是从json中读取角色场景等信息,因此为了更好地判断所用属性是否需要,设置为
手机版 网络编程 asp之家 www.aspxhome.com