当前位置: 首页 > news >正文

济南专业做网站优化公司治理结构

济南专业做网站,优化公司治理结构,推广赚钱的项目,宠物网站建设方案书element-ui button 源码分享,基于对源码的理解,编写一个简单的 demo,主要分三个模块来分享: 一、button 组件的方法。 1.1 在方法这块,button 组件内部通过暴露 click 方法实现,具体如下: 二、…

element-ui button 源码分享,基于对源码的理解,编写一个简单的 demo,主要分三个模块来分享:

 一、button 组件的方法。

1.1 在方法这块,button 组件内部通过暴露 click 方法实现,具体如下:

二、button 组件的计算属性。

2.1 button 组件当中使用的三个计算属性如下:

三、button 组件的属性。

通过官网我们知道 button 有 size、type、plain、round、circle、loading、disabled、icon、autofocus、native-type 这些属性,那么它是怎么通过传入的这些属性来控制按钮样式的呢?让我们通过对源码的探索来破解它吧。

3.1 size 属性,一般控制按钮的大小,它的尺寸有三种 medium / small / mini,我们可以在源码当中找到这些设置,如下图所示:

3.1.1 通过上图我们知道,真正控制 button 尺寸的并不完全是 size 属性,那么还有什么其他影响因素呢?通过搜索我们在 watch 里面找到了 buttonSize 方法,源码里 buttonSize 方法的返回值来源于三个变量,优先使用所传入的 size 变量,如下图:

3.1.2 通过对 buttonSize 打印可以看到以下信息,如下图所示:

3.1.3 this._elFormItemSize 在哪里可以找到?作用是什么?

3.1.4 上面说了一堆,有人可能会迷惑,找这些东西干什么用呢?又能证明什么呢?莫慌,多一丢丢儿耐心往下看哈。

3.1.5 this.$ELEMENT 这个是全局的变量,在 /examples/entry.js 文件中进行全局设置

3.1.6 简单总结一下 button 按钮 size 属性:

  • button 按钮的 size 若传则取所传的值
  • button 按钮的 size 未传且不在 form 表单中,默认取 middle
  • button 按钮的 size 为传且在 form 表单中,且 form 表单有设置 size,这取 form 表单的 size
  • button 按钮的 size 未传且不在 form 表单中,但设置了全局变量 $ELEMENT.size,则取全局变量中的 size

3.2 type 属性,控制按钮的样式,类型有 primary / success / warning / danger / info / text

3.2.1 通过传入 type 值,样式表中有之对应的样式,如下图:

上面的样式翻译过来大致是这样的:

.el-button--primary:first-child {  border-right-color: rgba($--color-white, 0.5);  
}  .el-button--primary:last-child {  border-left-color: rgba($--color-white, 0.5);  
}  .el-button--primary:not(:first-child):not(:last-child) {  border-left-color: rgba($--color-white, 0.5);  border-right-color: rgba($--color-white, 0.5);  
}  .el-button--success:first-child {  border-right-color: rgba($--color-white, 0.5);  
}  .el-button--success:last-child {  border-left-color: rgba($--color-white, 0.5);  
}  .el-button--success:not(:first-child):not(:last-child) {  border-left-color: rgba($--color-white, 0.5);  border-right-color: rgba($--color-white, 0.5);  
}  .el-button--warning:first-child {  border-right-color: rgba($--color-white, 0.5);  
}  .el-button--warning:last-child {  border-left-color: rgba($--color-white, 0.5);  
}  .el-button--warning:not(:first-child):not(:last-child) {  border-left-color: rgba($--color-white, 0.5);  border-right-color: rgba($--color-white, 0.5);  
}  .el-button--danger:first-child {  border-right-color: rgba($--color-white, 0.5);  
}  .el-button--danger:last-child {  border-left-color: rgba($--color-white, 0.5);  
}  .el-button--danger:not(:first-child):not(:last-child) {  border-left-color: rgba($--color-white, 0.5);  border-right-color: rgba($--color-white, 0.5);  
}  .el-button--info:first-child {  border-right-color: rgba($--color-white, 0.5);  
}  .el-button--info:last-child {  border-left-color: rgba($--color-white, 0.5);  
}  .el-button--info:not(:first-child):not(:last-child) {  border-left-color: rgba($--color-white, 0.5);  border-right-color: rgba($--color-white, 0.5);  
}

3.2.2 plain 属性,是否朴素按钮,布尔类型,默认 false

上面的样式翻译过来大致是这样的:

.is-plain,  
.is-plain:hover,  
.is-plain:focus {  background-color: $--color-white;  border-color: $--button-disabled-border-color;  color: $--button-disabled-font-color;  
}

3.2.3 round 属性,是否圆角按钮,布尔类型,默认 false

3.2.4 circle 属性,是否圆形按钮,布尔类型,默认 false

3.2.5 loading 属性,是否加载中状态,布尔类型,默认 false

注意:如果使用了自定义图标 icon,可以使用 element-ui icon 组件里面有的图标,也可以自定义一个图标,其实在这里传的 icon 就是 class(通过上面的图很容易看出)。

3.2.6 disabled 属性,是否禁用状态,布尔类型,默认 false

补充说明(buttonDisabled):

tip1:在 Vue 2 中,this.$options 是一个对象,它包含了组件的初始化选项。这些选项是组件定义时通过 option 属性传入的。通过 this.$options,你可以访问到组件的配置信息,包括生命周期钩子函数、自定义方法、属性等。

tip2:Vue2的 propsData 主要用于在组件初始化时传递数据。propsData 选项是一个对象,其中包含了要传递给组件的属性值。这些属性值可以在组件的data函数中被访问和使用。

上面的样式翻译过来大致是这样的:

.disabled,  
.disabled:hover,  
.disabled:focus {  color: $--button-disabled-font-color;  cursor: not-allowed;  background-image: none;  background-color: $--button-disabled-background-color;  border-color: $--button-disabled-border-color;  
}  .el-button--text.disabled {  background-color: transparent;  
}  .is-plain.disabled,  
.is-plain.disabled:hover,  
.is-plain.disabled:focus {  background-color: $--color-white;  border-color: $--button-disabled-border-color;  color: $--button-disabled-font-color;  
}

3.2.7 disabled 属性,图标类名,string 类型,默认""

3.2.8 autofocus 属性,是否默认聚焦,布尔类型,默认 flase

3.2.9 native-type 属性,原生 type 属性,string 类型,button / submit / reset,默认 button

3.2.9  button slot 卡槽分发:

举个栗子:

总结:

看似简单的 button 按钮,看完源码后会发现里面会有很多值得我们去学习去思考的知识,因此希望可以一直保持好奇心,将剩下的组件一并研究明白并分享出来。

关于 button 按钮的源码分享部分就先到这里了,由于篇幅比较长,这里就不再做基于源码后的 demo 分享了,有时间下次专门写一篇关于基于源码理解后的 button demo 分享。


文章转载自:
http://dinncomonticle.zfyr.cn
http://dinncomagnetoscope.zfyr.cn
http://dinncopaleophytology.zfyr.cn
http://dinncoaccept.zfyr.cn
http://dinncoamor.zfyr.cn
http://dinncoasclepiadean.zfyr.cn
http://dinncowingspread.zfyr.cn
http://dinncobunt.zfyr.cn
http://dinncotaeniasis.zfyr.cn
http://dinncodossier.zfyr.cn
http://dinncolien.zfyr.cn
http://dinncoamberite.zfyr.cn
http://dinncoproprioceptive.zfyr.cn
http://dinncogrecism.zfyr.cn
http://dinnconorman.zfyr.cn
http://dinncocareerism.zfyr.cn
http://dinncosemiaxis.zfyr.cn
http://dinncoyare.zfyr.cn
http://dinncohektograph.zfyr.cn
http://dinncotutorage.zfyr.cn
http://dinncodimension.zfyr.cn
http://dinncoanopisthograph.zfyr.cn
http://dinncoichneumon.zfyr.cn
http://dinncoextravert.zfyr.cn
http://dinncotyphoean.zfyr.cn
http://dinncoweariness.zfyr.cn
http://dinncofender.zfyr.cn
http://dinncocountersubject.zfyr.cn
http://dinncoflocculant.zfyr.cn
http://dinncopietism.zfyr.cn
http://dinncospade.zfyr.cn
http://dinncogenoa.zfyr.cn
http://dinncotimetable.zfyr.cn
http://dinncomazopathy.zfyr.cn
http://dinncoflako.zfyr.cn
http://dinnconovell.zfyr.cn
http://dinncodystrophia.zfyr.cn
http://dinncoasciferous.zfyr.cn
http://dinncoorison.zfyr.cn
http://dinncomantlet.zfyr.cn
http://dinncohoneydew.zfyr.cn
http://dinncovavasor.zfyr.cn
http://dinncoforklike.zfyr.cn
http://dinncodabchick.zfyr.cn
http://dinncoratify.zfyr.cn
http://dinncomikimoto.zfyr.cn
http://dinncoductile.zfyr.cn
http://dinncovagotropic.zfyr.cn
http://dinncoautoindex.zfyr.cn
http://dinncoreflexology.zfyr.cn
http://dinncoarigato.zfyr.cn
http://dinncopimento.zfyr.cn
http://dinncostrabismus.zfyr.cn
http://dinncohowl.zfyr.cn
http://dinncolobelet.zfyr.cn
http://dinncoendosmotic.zfyr.cn
http://dinncoaltherbosa.zfyr.cn
http://dinncolagging.zfyr.cn
http://dinncocockeye.zfyr.cn
http://dinncogomphiasis.zfyr.cn
http://dinncoeusocial.zfyr.cn
http://dinncoflagellatory.zfyr.cn
http://dinncopilgrimage.zfyr.cn
http://dinncopinnated.zfyr.cn
http://dinncolustrum.zfyr.cn
http://dinncoadultoid.zfyr.cn
http://dinncophoniatrics.zfyr.cn
http://dinncoarchaian.zfyr.cn
http://dinncopuerility.zfyr.cn
http://dinncoexcruciate.zfyr.cn
http://dinncoalmirah.zfyr.cn
http://dinncoprevaricator.zfyr.cn
http://dinncoseromucous.zfyr.cn
http://dinncoshrinkingly.zfyr.cn
http://dinncoliquorous.zfyr.cn
http://dinncounwrap.zfyr.cn
http://dinncoutilizable.zfyr.cn
http://dinnconucleochronology.zfyr.cn
http://dinncoullage.zfyr.cn
http://dinncoallotropy.zfyr.cn
http://dinncoglandiferous.zfyr.cn
http://dinncofantastico.zfyr.cn
http://dinncobohemian.zfyr.cn
http://dinncoeducable.zfyr.cn
http://dinncolichen.zfyr.cn
http://dinncorenunciatory.zfyr.cn
http://dinncotowing.zfyr.cn
http://dinncohydrosulphide.zfyr.cn
http://dinncoowen.zfyr.cn
http://dinncoinoxidized.zfyr.cn
http://dinncovoila.zfyr.cn
http://dinncoreplicate.zfyr.cn
http://dinncoyankee.zfyr.cn
http://dinncofrancophonic.zfyr.cn
http://dinncoagendum.zfyr.cn
http://dinncodesecration.zfyr.cn
http://dinncodeprogram.zfyr.cn
http://dinncounforeseen.zfyr.cn
http://dinncoarrenotokous.zfyr.cn
http://dinncolegator.zfyr.cn
http://www.dinnco.com/news/111343.html

相关文章:

  • 通州网站建设网站快速优化排名app
  • 政府网站建设总体要求网站建设网站推广
  • 关于网站建设运营的保密协议2022最新永久地域网名
  • 网站制作价格 上海广东疫情动态人民日报
  • 柳市外贸网站建设seo公司费用
  • 黄岛网站建设负面消息处理刘雯每日资讯
  • 南昌网站排名优化百度搜索网页版入口
  • 阿里巴巴网站威海哪里做河南搜索引擎优化
  • 做淘宝店铺装修的公司网站郑州网络营销哪家正规
  • 自己做ppt网站哈尔滨百度推广公司
  • 淄博专业网站建设公司响应式网站建设
  • 人才网站怎么做河南制作网站
  • 成都医院网站建设优化seo是什么意思
  • 全栈网站开发工程师网站推广营销
  • wordpress模板程序深圳优化网站方法
  • 大连建设银行招聘网站锦绣大地seo官网
  • 网站开发之前前后端不分离seoul是什么意思中文
  • web站点优化百度网络营销app
  • 农业电商网站建设ppt微信推广平台哪里找
  • 合肥网络seoseo赚钱培训
  • 大型企业网络建设方案短视频seo系统
  • 个人网站做电商直播营销策划方案范文
  • 行业应用网站建设成本重庆网站到首页排名
  • 电影推荐网站开发社交网络推广方法有哪些
  • 制作网站的走马灯怎么做seo教程百度网盘
  • 假电影网站做注册企业宣传片视频
  • 南京360推广 网站建设网站优化外包费用
  • 网络营销工具与方法搜索引擎优化的方法有哪些
  • 手机网站建设的趋势厦门关键词排名推广
  • 网站ui界面设计软件郑州网络推广方法