button元件相關的有兩個檔案
按鈕組時使用,相當於button的乙個父容器,內包含乙個匿名插槽,具體的處理在button.vue中
class="el-button-group">
slot>
div>
template>
export
default ;
script>
複製**
class="el-button"
@click="handleclick"
:disabled="buttondisabled || loading"
:autofocus="autofocus"
:type="nativetype"
:class="[
type ? 'el-button--' + type : '',
buttonsize ? 'el-button--' + buttonsize : '',
]">
class="el-icon-loading"
v-if="loading">
i>
:class="icon"
v-if="icon && !loading">
i>
v-if="$slots.default">
slot>
span>
button>
複製**
loading:props接收的loading為真時顯示。
icon:props接收的icon為真並且loading為假時顯示。
插槽:接收到匿名插槽內容時顯示。(也就是使用button-group按鈕組時)
inject: ,
elformitem:
}複製**
這裡接收預設為空
如果button元件在form元件內使用,若form向子孫後代注入某些屬性。會影響button的一些樣式(本元件computed 中可以看到)。
那麼問題來了,有props為什麼還要用 provide 和 inject 呢,因為前者只能用於父子,後者可以子孫後代,層級更深
computed: ).elformitemsize;
},// 大小樣式由props接收的size和formitem元件注入的size以及全域性配置物件($element,此物件由引入時vue.use()傳入的預設空物件)的size決定
buttonsize() ).size;
},// props接收disabled以及form元件注入的disabled決定(loading時也禁止↑)
buttondisabled() ).disabled;}}
複製**
disabled的影響因素
methods:
}複製**
可以結合element文件看
props: ,
// 按鈕大小
size: string,
// icon
icon: ,
// 原生button屬性
nativetype: ,
// 按鈕的loding動畫
loading: boolean,
// 禁用
disabled: boolean,
// 樸素樣式
plain: boolean,
// 聚焦
autofocus: boolean,
// 圓角
round: boolean,
// 圓形
circle: boolean
}複製**
$slots.default
: 獲取所有匿名插槽分發的內容 $slots官方傳送門
element原始碼解析 打包構建
本篇文章主要對 element 框架的 build 目錄 及 package.json 中的 scripts 指令碼,也就是element專案的指令碼構建打包進行解析。廢話不多說,先來張圖 對於node專案,除了對整體結構的瀏覽,第一步要做的事,就是檢視專案的核心檔案,package.json。由於...
JDK類載入機制原始碼分析及原始碼分析
jvm的類載入機制主要有如下三種機制 1.全盤負責 所謂全盤負責,就是說當乙個類載入器載入個個class的時候,該class所依賴和引用的其他class也將由該類載入 器負責載入,除非使用另外乙個類載入器來載入。2.雙親委託 所謂雙親委託則是先讓parent 父 類載入器試圖載入該class 若父載...
Spring設計及原始碼分析
最近這幾天在看spring的設計與原始碼,又是把自己折磨的死去活來的。但是這麼經典的東西總是要好好體會吧,畢竟機會不多。寫一點自己的思考和感觸吧 問題1 ioc和di到底有什麼區別?之前一直認為是同乙個東西,就是從不同的角度來看的,所以有了不同的名稱 主要是從李剛的那本書上看到所理解的 但是最近去官...