關(guān)于應(yīng)用UI組件的移動(dòng)端適配方式
在移動(dòng)端開發(fā)應(yīng)用UI組件也會(huì)遇到一系列需要注意的問題。
問題1
比如說,標(biāo)簽頁(yè)是一個(gè)整體的組件,但是我們需要將標(biāo)簽頁(yè)的標(biāo)題和其他組件一起固定到頂部就要將標(biāo)簽頁(yè)標(biāo)題分離出來,這時(shí)候我們可以自己寫一個(gè)樣式在將標(biāo)題分離
具體的代碼:
// 組件 <van-sticky> ? ? ?<van-nav-bar title="列表" border></van-nav-bar> ? ? ? ? ? ?<div class="top"> ? ? ? ? ?<div class="title" :class="{ active: active==0 }" @click="active=0">待審批</div> ? ? ? ? ?<div class="title" :class="{ active: active==1 }" @click="active=1">已審批</div> ? ? ?</div> ?</van-sticky> ?<to-do v-if="active==0"></to-do> ?<have-to-do v-if="active==1"></have-to-do> // ?數(shù)據(jù) ?export default { ?? ? data() { ? ? ? ? return { ? ? ? ? ? ? active: 0, ? ? ? ? } ?? ?}, }
主要原理就是使用一個(gè)數(shù)據(jù),例如active進(jìn)行標(biāo)記。點(diǎn)擊不同的標(biāo)題時(shí),修改該數(shù)據(jù)標(biāo)記的值,并且不同的標(biāo)題在active標(biāo)識(shí)激活后改變樣式,并且切換不同的面板。
問題2
同時(shí),以vant組件為例,這類組件自身用的單位是px,但是用作移動(dòng)端適配,我們應(yīng)該選擇rem,所以要進(jìn)行一下轉(zhuǎn)換。
1.安裝lib-flexible
安裝命令
npm install lib-flexible --save
這個(gè)插件原理就是根據(jù)屏幕寬度的變化從而自動(dòng)設(shè)置html根節(jié)點(diǎn)下的font-size大小。
2.在項(xiàng)目的入口引入lib-flexible
在main.js中添加:
import ‘lib-flexible'
3.安裝postcss-px2rem-exclude
安裝命令
npm install postcss-px2rem-exclude --save
這個(gè)插件在打包項(xiàng)目的時(shí)候?qū)x像素轉(zhuǎn)換為rem像素。
4.配置postcss.config.js
Vue3.0項(xiàng)目下默認(rèn)沒有這個(gè)文件,我們可以自己手動(dòng)新建一個(gè)postcss.config.js文件。并填入相應(yīng)的配置內(nèi)容,如下:
module.exports = { ? plugins: { ? ? autoprefixer: {}, ? ? 'postcss-px2rem-exclude': { ? ? //37.5是根據(jù)Vant組件的設(shè)計(jì)稿是375得來的,lib-flexible插件默認(rèn)是將375分為10等分,如果UI組件的設(shè)計(jì)稿是750,那么這里的設(shè)置就是填750/10=75 ? ? ? remUnit: 37.5, ? ? ? exclude: /folder_name/i ? ? } ? } }
接下來,啟動(dòng)項(xiàng)目就可以看到組件已經(jīng)完成了移動(dòng)端的適配。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue 2 實(shí)現(xiàn)自定義組件一到多個(gè)v-model雙向數(shù)據(jù)綁定的方法(最新推薦)
有時(shí)候我們需要對(duì)一個(gè)組件綁定自定義 v-model,以更方便地實(shí)現(xiàn)雙向數(shù)據(jù),例如自定義表單輸入控件,這篇文章主要介紹了vue 2 實(shí)現(xiàn)自定義組件一到多個(gè)v-model雙向數(shù)據(jù)綁定的方法,需要的朋友可以參考下2024-07-07vue數(shù)據(jù)對(duì)象length屬性未定義問題
這篇文章主要介紹了vue數(shù)據(jù)對(duì)象length屬性未定義問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06Vue之Vue.set動(dòng)態(tài)新增對(duì)象屬性方法
下面小編就為大家分享一篇Vue之Vue.set動(dòng)態(tài)新增對(duì)象屬性方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02vue動(dòng)態(tài)的 BreadCrumb 組件el-breadcrumb ElementUI詳解
這篇文章主要介紹了vue如何做一個(gè)動(dòng)態(tài)的 BreadCrumb 組件,el-breadcrumb ElementUI2024-07-07
,本文通過圖文示例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下vue實(shí)現(xiàn)兩級(jí)select聯(lián)動(dòng)+input賦值+select選項(xiàng)清空
這篇文章主要介紹了vue實(shí)現(xiàn)兩級(jí)select聯(lián)動(dòng)+input賦值+select選項(xiàng)清空過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08