vue使用Element-UI部分組件適配移動(dòng)端問題
前言
使用組件庫現(xiàn)成的組件是一件非常爽的事,基本不用自己敲代碼,不用自己思考來思考去樣式,就能得到一個(gè)比較滿意的效果。
但與此同時(shí)也會(huì)帶來一些不便,那就是部分組件在移動(dòng)端顯得不太友好,還有就是有些樣式達(dá)不到自己的預(yù)期,這時(shí)修改起來就比較麻煩了。
vue使用Element-UI部分組件適配移動(dòng)端
組件適配1—Message 消息提示
//消息提示
this.$message({
message:'雨傘下架成功',
duration:1500,
type:'success'
})
Message 消息提示在PC端顯示是非常好的:

但移動(dòng)端效果就有點(diǎn)勉強(qiáng)了,寬度太長了:

適配樣式代碼
@media screen and (max-width: 500px) {
.el-message {
min-width: 300px !important;
}
}
適配后移動(dòng)端的效果是比之前好很多的:

組件適配2—MessageBox 彈框
/*退出登錄*/
loginOut(){
this.$confirm('確定退出登錄嗎?', '提示', {
confirmButtonText: '確定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$router.replace({name:'login'})
})
}
MessageBox 彈框在PC端顯示是非常好的:

但移動(dòng)端效果就有點(diǎn)勉強(qiáng)了,還是寬度太長了:

適配樣式代碼
@media screen and (max-width: 500px) {
.el-message-box{
width: 300px !important;
}
}
適配后移動(dòng)端的效果是比之前好很多的:

組件適配3—Dialog 對話框
Dialog 對話框可通過自己設(shè)置top,width等控制樣式,算是比較方便更改樣式的一個(gè)組件了。
但為了同時(shí)適配手機(jī)和pc,還需要我們進(jìn)行一些操作,盡管我將width設(shè)置為比較小的400以及對表單內(nèi)的組件樣式進(jìn)行了一定的修改,但還是無法比較好的適配手機(jī)。
<el-dialog title="雨傘上架" :visible.sync="isToInsert" top="30vh" width="400px">
<el-form :inline="true" class="deleteForm">
<el-form-item label="登記者">
<el-input v-model="beginWorker" autocomplete="off" placeholder="請輸入登記者的名字"></el-input>
</el-form-item>
<el-form-item label="放傘地點(diǎn)" style="margin-top: 15px;">
<el-select v-model="stationId1" placeholder="請選擇放傘地點(diǎn)">
<el-option label="B區(qū)正門" value="B區(qū)正門"></el-option>
<el-option label="二樓" value="二樓"></el-option>
<el-option label="B5棟門口" value="B5棟門口"></el-option>
<el-option label="圖書館二樓" value="圖書館二樓"></el-option>
</el-select>
<p class="errorTip" v-show="beginWorkerError">{{beginWorkerError}}</p>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="isToInsert = false">取 消</el-button>
<el-button size="small" type="primary" @click="ToInsert">確 定</el-button>
</div>
</el-dialog>
為了更好的兼容pc端而設(shè)置了部分樣式:
.el-dialog__wrapper{
?? ?.el-dialog__body{
?? ? ?padding: 20px 20px 10px;
?? ? ?.deleteForm{
?? ? ? ?.errorTip{
?? ? ? ? ?color: red;
?? ? ? ? ?font-size: 14px;
?? ? ? ? ?line-height: 20px;
?? ? ? ? ?margin: 5px auto;
?? ? ? ?}
?? ? ? ?.el-form-item{
?? ? ? ? ?margin: 0;
?? ? ? ? ?.el-form-item__label{
?? ? ? ? ? ?width: 90px;
?? ? ? ? ?}
?? ? ? ? ?.el-select,.el-input{
?? ? ? ? ? ?width: 250px;
?? ? ? ? ?}
?? ? ? ?}
?? ? ?}
?? ?}
?? ?.el-dialog__footer{
?? ? ?padding-bottom: 15px;
?? ? ?padding-top: 5px;
?? ?}
}在PC端顯示的效果我感覺還是挺好的:

但移動(dòng)端效果就還是有點(diǎn)勉強(qiáng)了:

適配樣式代碼
@media screen and (max-width: 500px) {
.el-dialog__wrapper .el-dialog {
width: 300px !important;
.el-dialog__body{
padding: 10px 20px!important;
.el-form-item__label{
width: 68px!important;
}
.el-select,.el-input{
width: 180px!important;
}
}
}
}
適配后移動(dòng)端的效果是比之前好很多的:

結(jié)語
其他組件的適配基本都是這樣,你只需要打開控制臺(tái)找到控制樣式的類然后進(jìn)行修改即可。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue封裝localStorage設(shè)置過期時(shí)間的示例詳解
這篇文章主要介紹了Vue封裝localStorage設(shè)置過期時(shí)間的相關(guān)資料,在這個(gè)示例中,我們在MyComponent.vue組件的setup函數(shù)中導(dǎo)入了setItemWithExpiry和getItemWithExpiry函數(shù),并在函數(shù)內(nèi)部使用它們來設(shè)置和獲取帶有過期時(shí)間的localStorage數(shù)據(jù),需要的朋友可以參考下2024-06-06
vue連接本地服務(wù)器的實(shí)現(xiàn)示例
本文主要介紹了vue連接本地服務(wù)器的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01
從零開始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn)
這篇文章主要介紹了從零開始用webpack構(gòu)建一個(gè)vue3.0項(xiàng)目工程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Vue?2?和?Vue?3?中?toRefs函數(shù)的不用用法
Vue?是一款流行的JavaScript?框架,用于構(gòu)建用戶界面,在Vue2和?Vue3中,都存在一個(gè)名為toRefs的函數(shù),但其行為在這兩個(gè)版本中有所不同,這篇文章主要介紹了Vue2和Vue3中toRefs的區(qū)別,需要的朋友可以參考下2023-08-08
基于Vue 和 iView分片上傳功能實(shí)現(xiàn)(上傳組件)
本文介紹了基于Vue和iView的文件分片上傳技術(shù),通過將文件拆分成多個(gè)小塊并逐塊上傳,解決了大文件上傳時(shí)的諸多問題,如上傳速度慢、超時(shí)和網(wǎng)絡(luò)中斷等,它還展示了如何實(shí)現(xiàn)分片上傳的進(jìn)度顯示、錯(cuò)誤處理和斷點(diǎn)續(xù)傳等功能,感興趣的朋友跟隨小編一起看看吧2025-01-01
Vue中兩種生成二維碼(帶logo)并下載方式總結(jié)
與后端生成二維碼相比,前端生成二維碼更具有靈活性,下面這篇文章主要給大家介紹了關(guān)于Vue中兩種生成二維碼(帶logo)并下載的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03
Vue-router 類似Vuex實(shí)現(xiàn)組件化開發(fā)的示例
本篇文章主要介紹了Vue-router 類似Vuex實(shí)現(xiàn)組件化開發(fā)的示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09

