mpvue项目中使用第三方UI组件库的方法


Posted in Javascript onSeptember 30, 2018

说明

整理了一份简单的源码,放在github,有需要参考的同学自取~

简介

微信小程序上线已有一年多时间啦,自美团的mpvue(基于 Vue.js 的小程序开发框架,从底层支持 Vue.js 语法和构建工具体系)问世也过去了好几个月。

前端技术日新月异,小程序的UI框架也层出不穷。

例如: 

WeUI: 一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。(github)

ZanUI: 有赞移动 Web UI 规范 ZanUI 的小程序现实版本。(github)

iView  Weapp:  与iView(基于 Vue.js 的开源 UI 组件库)同一组织产出的微信小程序UI组件库。(github)

前言

项目使用的插件:

mpvue-entry: 集中式页面配置,自动生成各页面的入口文件,优化目录结构,支持新增页面热更新。(github)

mpvue-router-patch: 在 mpvue 中使用 vue-router 兼容的路由写法。(github)

如何在mpvue中配置使用第三方的UI组件库呢?

(PS:本文使用iView  Weapp示例)

1. 将第三方组件库从github克隆到本地;

mpvue项目中使用第三方UI组件库的方法

2. 将iview-weapp中的dist文件夹(此处我重命名为iView,以便区分)复制到mpvue项目的输出目录中(默认是dist,编译后的vue代码在此);

mpvue项目中使用第三方UI组件库的方法

iView目录中,全都是组件

mpvue项目中使用第三方UI组件库的方法

3. 打开mpvue项目中的router/routes.js,在需要使用组件的地方,写入相应的配置

mpvue项目中使用第三方UI组件库的方法

4. 在vue页面中使用组件

mpvue项目中使用第三方UI组件库的方法

5. 效果如下

mpvue项目中使用第三方UI组件库的方法

具体示例:

使用:search这部分是利用小程序input组件实现,在下面的示例中主要使用了focus和bindinput两个属性,由于mpvue从底层支持 Vue.js 语法和构建工具体系,因此可以用vue的v-model进行双向数据绑定,示例如下:

<template>
 <div class="page">
 <div class="page__hd">
  <div class="page__title">SearchBar</div>
  <div class="page__desc">搜索栏</div>
 </div>
 <div class="page__bd">
  <div class="weui-search-bar">
  <div class="weui-search-bar__form">
   <div class="weui-search-bar__box">
   <icon class="weui-icon-search_in-box" type="search" size="14"></icon>
   <input type="text" class="weui-search-bar__input" placeholder="搜索" v-model="inputVal" :focus="inputShowed" @input="inputTyping" />
   <div class="weui-icon-clear" v-if="inputVal.length > 0" @click="clearInput">
    <icon type="clear" size="14"></icon>
   </div>
   </div>
   <label class="weui-search-bar__label" :hidden="inputShowed" @click="showInput">
   <icon class="weui-icon-search" type="search" size="14"></icon>
   <div class="weui-search-bar__text">搜索</div>
   </label>
  </div>
  <div class="weui-search-bar__cancel-btn" :hidden="!inputShowed" @click="hideInput">取消</div>
  </div>
  <div class="weui-cells searchbar-result" v-if="inputVal.length > 0">
  <navigator url="" class="weui-cell" hover-class="weui-cell_active">
   <div class="weui-cell__bd">
   <div>实时搜索文本</div>
   </div>
  </navigator>
  <navigator url="" class="weui-cell" hover-class="weui-cell_active">
   <div class="weui-cell__bd">
   <div>实时搜索文本</div>
   </div>
  </navigator>
  <navigator url="" class="weui-cell" hover-class="weui-cell_active">
   <div class="weui-cell__bd">
   <div>实时搜索文本</div>
   </div>
  </navigator>
  <navigator url="" class="weui-cell" hover-class="weui-cell_active">
   <div class="weui-cell__bd">
   <div>实时搜索文本</div>
   </div>
  </navigator>
  </div>
 </div>
 </div>
</template>

<script>
export default {
 data() {
 return {
  inputShowed: false,
  inputVal: ""
 }
 },
 methods: {
 showInput() {
  this.inputShowed = true;
 },
 hideInput() {
  this.inputVal = '';
  this.inputShowed = false
 },
 clearInput() {
  this.inputVal = '';
 },
 inputTyping(e) {
  console.log(e);
  this.inputVal = e.mp.detail.value
 }
 }
}
</script>

<style scoped>
.searchbar-result {
 margin-top: 0;
 font-size: 14px;
}
.searchbar-result:before {
 display: none;
}
.weui-cell {
 padding: 12px 15px 12px 35px;
}
</style>

效果:

mpvue项目中使用第三方UI组件库的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
地震发生中逃生十大法则
May 12 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
Dec 25 Javascript
JS简单实现文件上传实例代码(无需插件)
Nov 15 Javascript
JavaScript动态提示输入框输入字数的方法
Jul 27 Javascript
理解javascript中的严格模式
Feb 01 Javascript
值得分享的bootstrap table实例
Sep 22 Javascript
Node.js编写CLI的实例详解
May 17 Javascript
详解Element 指令clickoutside源码分析
Feb 15 Javascript
JavaScript一元正号运算符示例代码
Jun 30 Javascript
vue中监听返回键问题
Aug 28 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
Mar 10 Javascript
使用vuex-persistedstate本地存储vuex
Apr 29 Vue.js
mpvue将vue项目转换为小程序
Sep 30 #Javascript
angularJs中ng-model-options设置数据同步的方法
Sep 30 #Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
Sep 30 #Javascript
对angularJs中ng-style动态改变样式的实例讲解
Sep 30 #Javascript
使用angularjs.foreach时return的问题解决
Sep 30 #Javascript
angular将html代码输出为内容的实例
Sep 30 #Javascript
详解Vue.js iview实现树形权限表(可扩展表)
Sep 30 #Javascript
You might like
一段防盗连的PHP代码
2006/12/06 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
PHP数据对象PDO操作技巧小结
2016/09/27 PHP
php封装一个异常的处理类
2017/06/08 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2015/04/01 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
JS小数运算出现多为小数问题的解决方法
2016/06/02 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
CLR与IL分别是什么含义
2016/08/23 面试题
营业经理岗位职责
2013/11/10 职场文书
物流业务员岗位职责
2014/02/08 职场文书
创新比赛获奖感言
2014/02/13 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
农业生产宣传标语
2014/10/08 职场文书
搭讪开场白台词大全
2015/05/28 职场文书