mpvue项目中使用第三方UI组件库的方法

整理了一份简单的源码,放在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> <div> <div>SearchBar</div> <div>搜索栏</div> </div> <div> <div> <div> <div> <icon type="search" size="14"></icon> <input type="text" placeholder="搜索" v-model="inputVal" :focus="inputShowed" @input="inputTyping" /> <div v-if="inputVal.length > 0" @click="clearInput"> <icon type="clear" size="14"></icon> </div> </div> <label :hidden="inputShowed" @click="showInput"> <icon type="search" size="14"></icon> <div>搜索</div> </label> </div> <div :hidden="!inputShowed" @click="hideInput">取消</div> </div> <div v-if="inputVal.length > 0"> <navigator url="" hover-class="weui-cell_active"> <div> <div>实时搜索文本</div> </div> </navigator> <navigator url="" hover-class="weui-cell_active"> <div> <div>实时搜索文本</div> </div> </navigator> <navigator url="" hover-class="weui-cell_active"> <div> <div>实时搜索文本</div> </div> </navigator> <navigator url="" hover-class="weui-cell_active"> <div> <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组件库的方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/472def0aa66add0a56c001ff45e6a580.html