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 相关文章推荐
Add a Picture to a Microsoft Word Document
Jun 15 Javascript
读jQuery之三(构建选择器)
Jun 11 Javascript
使用JavaScript获取地址栏参数的方法
Dec 19 Javascript
如何使用jquery easyui创建标签组件
Nov 18 Javascript
js友好的时间返回函数
Aug 24 Javascript
微信小程序 下拉列表的实现实例代码
Mar 08 Javascript
微信小程序 五星评分的实现实例
Aug 04 Javascript
十分钟带你快速了解React16新特性
Nov 10 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
Dec 26 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 jQuery
React和Vue中监听变量变化的方法
Nov 14 Javascript
JS数组去重的6种方法完整实例
Dec 08 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
常用星际术语索引(新手指南)
2020/03/04 星际争霸
汉字转化为拼音(php版)
2006/10/09 PHP
php下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
PHP 面向对象详解
2012/09/13 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
php视频拍照上传头像功能实现代码分享
2015/10/08 PHP
经验几则 推荐
2006/09/05 Javascript
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
Jquery性能优化详解
2014/05/15 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
微信小程序 tabs选项卡效果的实现
2017/01/05 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
详解python 中in 的 用法
2019/12/12 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
学前班教师的自我鉴定
2013/12/05 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL