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 相关文章推荐
jqgrid 简单学习笔记
May 03 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
Jul 10 Javascript
javascript生成json数据简单示例分享
Feb 14 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
Mar 02 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
Mar 13 Javascript
JavaScript构造函数详解
Dec 27 Javascript
Javascript点击按钮随机改变数字与其颜色
Sep 01 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
Dec 12 Javascript
Javascript通过控制类名更改样式
May 24 Javascript
Vue登录主页动态背景短视频制作
Sep 21 Javascript
node省市区三级数据性能测评实例分析
Nov 06 Javascript
如何在JS文件中获取Vue组件
Sep 16 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配置心得包含MYSQL5乱码解决
2006/11/20 PHP
DedeCms模板安装/制作概述
2007/03/11 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
python动态性强类型用法实例
2015/05/09 Python
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
QML使用Python的函数过程解析
2019/09/26 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
大学生毕业的自我鉴定
2013/11/13 职场文书
银行实习鉴定
2013/12/13 职场文书
网络事业创业计划书范文
2014/01/09 职场文书
CAD制图设计师自荐信
2014/01/29 职场文书
银行简历自我评价
2014/02/11 职场文书
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
法制教育演讲稿
2014/09/10 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
入党函调证明材料
2014/12/24 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
Redis集群新增、删除节点以及动态增加内存的方法
2021/09/04 Redis