mpvue項(xiàng)目中使用第三方UI組件庫(kù)的方法
說(shuō)明
整理了一份簡(jiǎn)單的源碼,放在github,有需要參考的同學(xué)自取~
簡(jiǎn)介
微信小程序上線已有一年多時(shí)間啦,自美團(tuán)的mpvue(基于 Vue.js 的小程序開(kāi)發(fā)框架,從底層支持 Vue.js 語(yǔ)法和構(gòu)建工具體系)問(wèn)世也過(guò)去了好幾個(gè)月。
前端技術(shù)日新月異,小程序的UI框架也層出不窮。
例如:
WeUI: 一套同微信原生視覺(jué)體驗(yàn)一致的基礎(chǔ)樣式庫(kù),由微信官方設(shè)計(jì)團(tuán)隊(duì)為微信內(nèi)網(wǎng)頁(yè)和微信小程序量身設(shè)計(jì),令用戶的使用感知更加統(tǒng)一。(github)
ZanUI: 有贊移動(dòng) Web UI 規(guī)范 ZanUI 的小程序現(xiàn)實(shí)版本。(github)
iView Weapp: 與iView(基于 Vue.js 的開(kāi)源 UI 組件庫(kù))同一組織產(chǎn)出的微信小程序UI組件庫(kù)。(github)
前言
項(xiàng)目使用的插件:
mpvue-entry: 集中式頁(yè)面配置,自動(dòng)生成各頁(yè)面的入口文件,優(yōu)化目錄結(jié)構(gòu),支持新增頁(yè)面熱更新。(github)
mpvue-router-patch: 在 mpvue 中使用 vue-router 兼容的路由寫法。(github)
如何在mpvue中配置使用第三方的UI組件庫(kù)呢?
(PS:本文使用iView Weapp示例)
1. 將第三方組件庫(kù)從github克隆到本地;
2. 將iview-weapp中的dist文件夾(此處我重命名為iView,以便區(qū)分)復(fù)制到mpvue項(xiàng)目的輸出目錄中(默認(rèn)是dist,編譯后的vue代碼在此);
iView目錄中,全都是組件
3. 打開(kāi)mpvue項(xiàng)目中的router/routes.js,在需要使用組件的地方,寫入相應(yīng)的配置
4. 在vue頁(yè)面中使用組件
5. 效果如下
具體示例:
使用:search這部分是利用小程序input組件實(shí)現(xiàn),在下面的示例中主要使用了focus和bindinput兩個(gè)屬性,由于mpvue從底層支持 Vue.js 語(yǔ)法和構(gòu)建工具體系,因此可以用vue的v-model進(jìn)行雙向數(shù)據(jù)綁定,示例如下:
<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>實(shí)時(shí)搜索文本</div> </div> </navigator> <navigator url="" class="weui-cell" hover-class="weui-cell_active"> <div class="weui-cell__bd"> <div>實(shí)時(shí)搜索文本</div> </div> </navigator> <navigator url="" class="weui-cell" hover-class="weui-cell_active"> <div class="weui-cell__bd"> <div>實(shí)時(shí)搜索文本</div> </div> </navigator> <navigator url="" class="weui-cell" hover-class="weui-cell_active"> <div class="weui-cell__bd"> <div>實(shí)時(shí)搜索文本</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>
效果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
記一次Vue.js混入mixin的使用(分權(quán)限管理頁(yè)面)
這篇文章主要介紹了記一次Vue.js混入mixin的使用(分權(quán)限管理頁(yè)面),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04vue項(xiàng)目如何刷新當(dāng)前頁(yè)面的方法
這篇文章主要介紹了vue項(xiàng)目如何刷新當(dāng)前頁(yè)面的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05基于vue2的canvas時(shí)鐘倒計(jì)時(shí)組件步驟解析
今天給大家介紹一款基于vue2的canvas時(shí)鐘倒計(jì)時(shí)組件,這個(gè)時(shí)鐘倒計(jì)時(shí)組件采用canvas動(dòng)畫的炫酷動(dòng)畫效果形式,根據(jù)剩余時(shí)間的多少變換顏色和旋轉(zhuǎn)扇形的速度,適合搶購(gòu)、拍賣、下注等業(yè)務(wù)場(chǎng)景,且對(duì)移動(dòng)端友好,需要的朋友可以參考下2018-11-11Vue利用vue-baidu-map實(shí)現(xiàn)獲取經(jīng)緯度和搜索地址
在開(kāi)發(fā)項(xiàng)目的時(shí)候,發(fā)現(xiàn)需要獲取經(jīng)緯度,由于這個(gè)項(xiàng)目是用vue寫的,最后決定使用vue-baidu-map來(lái)快速獲取經(jīng)緯度,感興趣的可以了解一下2022-09-09VUE安裝依賴時(shí)報(bào)錯(cuò):npm ERR! code ERESOLVE的解決
在使用npm安裝項(xiàng)目依賴時(shí),有時(shí)會(huì)遇到錯(cuò)誤信息 “npm ERR! code ERESOLVE”,本文就來(lái)介紹一下VUE安裝依賴時(shí)報(bào)錯(cuò)的解決,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10在vue-cli項(xiàng)目中使用bootstrap的方法示例
本篇文章主要介紹了在vue-cli項(xiàng)目中使用bootstrap的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04