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 相关文章推荐
jQuery Validation实例代码 让验证变得如此容易
Oct 18 Javascript
初识SmartJS - AOP三剑客
Jun 08 Javascript
JavaScript对象之深度克隆介绍
Dec 08 Javascript
input输入框鼠标焦点提示信息
Mar 17 Javascript
JAVA四种基本排序方法实例总结
Jul 24 Javascript
js图片轮播手动切换效果
Nov 10 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
Oct 31 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
Nov 02 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
May 02 Javascript
JavaScript中使用Async实现异步控制
Aug 15 Javascript
JS获取一个表单字段中多条数据并转化为json格式
Oct 17 Javascript
Vue开发之封装分页组件与使用示例
Apr 25 Javascript
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中全局变量global的使用演示代码
2011/05/18 PHP
php分页示例分享
2014/04/30 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
php提取微信账单的有效信息
2018/10/01 PHP
node.js 使用ejs模板引擎时后缀换成.html
2015/04/22 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
python使用PythonMagick将jpg图片转换成ico图片的方法
2015/03/26 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
Python列表嵌套常见坑点及解决方案
2020/09/30 Python
在vscode中启动conda虚拟环境的思路详解
2020/12/25 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
什么是索引指示器
2012/08/20 面试题
品学兼优的大学生自我评价
2013/09/20 职场文书
升学宴主持词
2014/04/02 职场文书
二手房买卖协议书
2014/04/10 职场文书
关于诚信的活动方案
2014/08/18 职场文书
刑事代理授权委托书
2014/09/17 职场文书
导游欢送词
2015/01/31 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js