淺談Vue使用Elementui修改默認(rèn)的最快方法
相信大家都需要過(guò),在Vue中使用Elementui的時(shí)候,遇到最多也最蛋疼的問(wèn)題就是修改默認(rèn)樣式,接下來(lái)直奔主題;
// template <el-progress :text-inside="true" :stroke-width="26" :percentage="70" ></el-progress>
默認(rèn)樣式

方法1
1、找默認(rèn)添加的類名

2、去掉scoped,scoped是Vue是限制獨(dú)立組件中的CSS樣式不被溢出到全局使用!
// style
.el-progress-bar__inner{
background: #000 ;
}
// 這兩種酌情使用。
.el-progress-bar__inner{
background: #000 !important;
}
// !important是css選擇器中的屬性,默認(rèn)權(quán)重?zé)o線大!
總結(jié):這種方法會(huì)生效,但是會(huì)影響到全局;

方法2,
使用Vue中的深度作用域選擇器! 這個(gè)符號(hào)哦 >>>
<style scoped>
>>> .el-progress-bar__inner{
background: #000 ;
}
</style>
總結(jié):使用Vue的深度選擇器,就可以完美的解決!

注意:有些像 Sass 之類的預(yù)處理器無(wú)法正確解析 >>>。
這種情況下你可以使用 /deep/ 或 ::v-deep 操作符取而代之——兩者都是 >>> 的別名,同樣可以正常工作。
給大家附上官網(wǎng)地址:https://vue-loader.vuejs.org/zh/guide/scoped-css.html#混用本地和全局樣式
補(bǔ)充知識(shí):Vue Element Upload組件自定義上傳行為及值回填
問(wèn)題
由于項(xiàng)目使用element-ui,然后upload默認(rèn)上傳方式不支持我們現(xiàn)有接口。參照了一下官方API及相關(guān)博客,解決了我現(xiàn)有問(wèn)題。
解決方式
自定義上傳:upload組件提供了一個(gè)http-request屬性,官方給的描述是:覆蓋默認(rèn)的上傳行為,可以自定義上傳的實(shí)現(xiàn)
值的回填:upload組件提供了一個(gè)file-list屬性,描述:上傳的文件列表
#具體代碼實(shí)現(xiàn)
自定義上傳行為
這里使用圖片上傳作為實(shí)例
template部分
<el-upload action="https://up-z2.qbox.me" list-type="picture-card" :http-request="uploadImg" :on-success="uploadImgSuccess" :on-remove="handleRemove"> <i class="el-icon-plus"></i> </el-upload>
以上是template部分,我們實(shí)現(xiàn)了http-request, on-success, on-remove三個(gè)屬性
script部分
methods: {
uploadImg (f) {
this.axios.get('./getToken').then((response) => {//獲取token
let param = new FormData(); //創(chuàng)建form對(duì)象
param.append('file',f.file);//通過(guò)append向form對(duì)象添加數(shù)據(jù)
param.append('token',response.data.token);//通過(guò)append向form對(duì)象添加數(shù)據(jù)
param.append('key',response.data.key);//添加form表單中其他數(shù)據(jù)
let config = {
headers:{'Content-Type':'multipart/form-data'}
}; //添加請(qǐng)求頭
this.axios.post(f.action,param,config)//上傳圖片
.then(response=>{
f.onSuccess(response.data)
})
.catch(({err}) => {
f.onError()
})
})
.catch(() => {
f.onError()
})
},
uploadImgSuccess(response, file, fileList) {
// 緩存接口調(diào)用所需的文件路徑
console.log('文件上傳成功')
},
handleRemove(file, fileList) {
// 更新緩存文件
console.log('文件刪除')
}
}
值回填
同樣以圖片上傳為例
template部分
<el-upload action="https://up-z2.qbox.me" list-type="picture-card" :http-request="uploadImg" :on-remove="handleRemove" :on-change="handleImgChange" :file-list="imgList"> <i class="el-icon-plus"></i> </el-upload>
script部分
data() {
return {
imgList: [{url: '初始需回填的圖片url', status: 'finished'}]
}
},
methods: {
uploadImg (f) {
this.axios.get('./getToken').then((response) => {//獲取token
let param = new FormData(); //創(chuàng)建form對(duì)象
param.append('file',f.file);//通過(guò)append向form對(duì)象添加數(shù)據(jù)
param.append('token',response.data.token);//通過(guò)append向form對(duì)象添加數(shù)據(jù)
param.append('key',response.data.key);//添加form表單中其他數(shù)據(jù)
let config = {
headers:{'Content-Type':'multipart/form-data'}
}; //添加請(qǐng)求頭
this.axios.post(f.action,param,config)//上傳圖片
.then(response=>{
f.onSuccess(response.data)
})
.catch(({err}) => {
f.onError()
})
})
.catch(() => {
f.onError()
})
},
handleImgChange (file, fileList) {// 這里可以打印file查看數(shù)據(jù)結(jié)構(gòu)
if (file.response) {//判斷是否上傳成功
this.imgList.push({url: this.tools.cdn(file.response.key), status: 'finished'})//上傳成功之后把值添加到imglist中
}
},
handleRemove (file, fileList) {// 這里可以打印filelist查看數(shù)據(jù)結(jié)構(gòu)
this.imgList = fileList//刪除某張圖片時(shí)重新對(duì)imglist賦值
}
}
寫在最后
一直想把這個(gè)記下來(lái),比較懶惰一看好久沒(méi)有寫博客了。由于是在我們工程里改的,暫時(shí)還沒(méi)有寫demo。如有問(wèn)題,請(qǐng)大家指教
以上這篇淺談Vue使用Elementui修改默認(rèn)的最快方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Vue+element-ui添加自定義右鍵菜單的方法示例
- 基于vue與element實(shí)現(xiàn)創(chuàng)建試卷相關(guān)功能(實(shí)例代碼)
- vue+element_ui上傳文件,并傳遞額外參數(shù)操作
- vue3.0+vue-router+element-plus初實(shí)踐
- element-plus一個(gè)vue3.xUI框架(element-ui的3.x 版初體驗(yàn))
- Vue3+elementui plus創(chuàng)建項(xiàng)目的方法
- vue element實(shí)現(xiàn)表格合并行數(shù)據(jù)
- Vue.js前端框架之事件處理小結(jié)
- Vue如何使用Dayjs計(jì)算常用日期詳解
- Vue Element前端應(yīng)用開發(fā)之常規(guī)的JS處理函數(shù)
相關(guān)文章
使用vuetify實(shí)現(xiàn)全局v-alert消息通知的方法
使用強(qiáng)大的Vuetify開發(fā)前端頁(yè)面,結(jié)果發(fā)現(xiàn)官方?jīng)]有提供簡(jiǎn)便的全局消息通知組件,所以自己動(dòng)手寫了一個(gè)簡(jiǎn)單的組件,接下來(lái)通過(guò)本文給大家介紹使用vuetify實(shí)現(xiàn)全局v-alert消息通知的詳細(xì)代碼,感興趣的朋友跟隨小編一起看看吧2024-02-02
vue2.0 使用element-ui里的upload組件實(shí)現(xiàn)圖片預(yù)覽效果方法
今天小編就為大家分享一篇vue2.0 使用element-ui里的upload組件實(shí)現(xiàn)圖片預(yù)覽效果方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue如何解決循環(huán)引用組件報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了vue如何解決循環(huán)引用組件報(bào)錯(cuò)的問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
Vue+Element ui 根據(jù)后臺(tái)返回?cái)?shù)據(jù)設(shè)置動(dòng)態(tài)表頭操作
這篇文章主要介紹了Vue+Element ui 根據(jù)后臺(tái)返回?cái)?shù)據(jù)設(shè)置動(dòng)態(tài)表頭操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
vue中父組件通過(guò)props向子組件傳遞數(shù)據(jù)但子組件接收不到解決辦法
大家都知道可以使用props將父組件的數(shù)據(jù)傳給子組件,下面這篇文章主要給大家介紹了關(guān)于vue中父組件通過(guò)props向子組件傳遞數(shù)據(jù)但子組件接收不到的解決辦法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
element ui里dialog關(guān)閉后清除驗(yàn)證條件方法
下面小編就為大家分享一篇element ui里dialog關(guān)閉后清除驗(yàn)證條件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
vue項(xiàng)目完成后如何實(shí)現(xiàn)項(xiàng)目?jī)?yōu)化的示例
本文主要介紹了vue項(xiàng)目完成后如何實(shí)現(xiàn)項(xiàng)目?jī)?yōu)化的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
Vue-router 報(bào)錯(cuò)NavigationDuplicated的解決方法
這篇文章主要介紹了Vue-router 報(bào)錯(cuò)NavigationDuplicated的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

