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

深圳市手机网站建设公司东莞企业营销型网站策划

深圳市手机网站建设公司,东莞企业营销型网站策划,php网站开发教学,响应式网站素材element-ui button 源码分享#xff0c;基于对源码的理解#xff0c;编写一个简单的 demo#xff0c;主要分三个模块来分享#xff1a; 一、button 组件的方法。 1.1 在方法这块#xff0c;button 组件内部通过暴露 click 方法实现#xff0c;具体如下#xff1a; 二、…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 表单中默认取 middlebutton 按钮的 size 为传且在 form 表单中且 form 表单有设置 size这取 form 表单的 sizebutton 按钮的 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你可以访问到组件的配置信息包括生命周期钩子函数、自定义方法、属性等。 tip2Vue2的 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://www.dnsts.com.cn/news/164202.html

相关文章:

  • 企业网站备案需要什么wordpress主题demo导入
  • 学校网站用什么模板好自己服务器建设网站
  • 实业有限公司网站怎么做做网站重要标签
  • 网站开发工具有哪些安卓app快速开发
  • 杭州网站推广平台沈阳软件开发培训
  • 新闻静态网站模板下载阿里云服务器责任怎么做网站
  • 山东省建设建设监理协会网站drupal个人门户网站开发
  • 怎么做网站导航外链轻松筹网站可以做吗
  • 个人网站图片加载慢网站建设中图片
  • 电脑禁止访问网站设置ftp地址格式怎么写
  • 哪有做网站的定单徐州赶集网招聘信息
  • 网站结构建设方案长治哪里能找到做网站的技术员
  • 如何让网站自适应手机建设网站的经验
  • 电脑记事本做复杂网站企业网站的开发公司
  • 沧州做英文网站哪家公司好外贸网站建设价格怎么样
  • 网站 网页小游戏网址代码
  • 网上购物网站建设规划论文创意合肥网站建设
  • 网站域名改版wordpress排版
  • 沧州网站改版优化可以做h5游戏的网站
  • 四川省安监站网址佛山做网站公司排名
  • 江苏兴力建设集团有限公司网站深圳网站制作设计
  • 做网站的毕业答辩ppt实例短视频app用户量排行榜
  • 单页面网站可以做自适应网站吗网站不用工具开发建设
  • 网站开发php技术网页设计师主要工作内容
  • 中山市建设局网站窗口电话前端开发人员
  • 建站之星最新版本开发定制网站
  • 手机网站整站源码下载墙绘做网站推广有作用没
  • 公司网站开发主流语言uc浏览器在线网页
  • 网站去除前台验证码php和ASP网站那个好
  • 网站定制开发 团队微投票网站