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 相关文章推荐
做网页的一些技巧
Feb 01 Javascript
javascript动态改变img的src属性图片不显示的解决方法
Oct 20 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
Jun 12 Javascript
jQuery简单tab切换效果实现方法
Apr 08 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
Jan 19 Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 Javascript
浅谈js中子页面父页面方法 变量相互调用
Aug 04 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
Sep 16 Javascript
JavaScript省市区三级联动菜单效果
Sep 21 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
Sep 03 Javascript
Nautil 中使用双向数据绑定的实现
Oct 02 Javascript
javascript读取本地文件和目录方法详解
Aug 06 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获取url的函数代码
2011/08/02 PHP
请离开include_once和require_once
2013/07/18 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
文本框的字数限制功能jquery插件
2009/11/24 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
linux 后台运行node服务指令方法
2018/05/23 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
Django框架中方法的访问和查找
2015/07/15 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Python中创建二维数组
2018/10/17 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
称象教学反思
2014/02/03 职场文书
运动会100米广播稿
2015/08/19 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技