mpvue項目中使用第三方UI組件庫的方法

來源:互聯網
上載者:User

標籤:def   方法   複製   net   簡介   detail   for   前端   基於   

簡介

小程式上線已有一年多時間啦,自美團的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複製到本地;

2. 將iview-weapp中的dist檔案夾(此處我重新命名為iView,以便區分)複製到mpvue項目的輸出目錄中(預設是dist,編譯後的vue代碼在此);

iView目錄中,全都是組件

3. 開啟mpvue項目中的router/routes.js,在需要使用組件的地方,寫入相應的配置

4. 在vue頁面中使用組件

5. 效果如下

具體樣本:

使用:search這部分是利用小程式input組件實現,在下面的樣本中主要使用了focus和bindinput兩個屬性,由於mpvue從底層支援 Vue.js 文法和構建工具體系,因此可以用vue的v-model進行雙向資料繫結,樣本如下:

?
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 <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組件庫的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.