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 相关文章推荐
javaScript Array(数组)相关方法简述
Jul 25 Javascript
Jquery 表格合并的问题分享
Sep 17 Javascript
Jquery在指定DIV加载HTML示例代码
Feb 17 Javascript
jQuery统计指定子元素数量的方法
Mar 17 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
Mar 13 Javascript
原生js实现addClass,removeClass,hasClass方法
Apr 27 Javascript
JS实现六边形3D拖拽翻转效果的方法
Sep 11 Javascript
深入学习js瀑布流布局
Oct 14 Javascript
详解webpack分离css单独打包
Jun 21 Javascript
Vue实现百度下拉提示搜索功能
Jun 21 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
Sep 10 Javascript
详解小程序之简单登录注册表单验证
May 13 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 self,$this,const,static,-&amp;gt;的使用
2009/10/22 PHP
phpmail类发送邮件函数代码
2012/02/20 PHP
discuz目录文件资料汇总
2014/12/30 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
Javascript 模式实例 观察者模式
2009/10/24 Javascript
CCPry JS类库 代码
2009/10/30 Javascript
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
coffeescript使用的方式汇总
2015/08/05 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
python中abs&amp;map&amp;reduce简介
2018/02/20 Python
python requests爬取高德地图数据的实例
2018/11/10 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
深入探究HTML5的History API
2015/07/09 HTML / CSS
南威尔士家居商店:Leekes
2016/10/25 全球购物
Shopee新加坡:东南亚与台湾电商平台
2019/01/25 全球购物
Fnac西班牙官网:法国文化和电子产品零售商
2021/03/14 全球购物
父母对孩子的寄语
2014/04/09 职场文书
儿童生日会策划方案
2014/05/15 职场文书
营销总监岗位职责
2014/09/16 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
中国梦宣传标语口号
2015/12/26 职场文书
html中两种获取标签内的值的方法
2022/06/16 jQuery