美文网首页
iView布局相关(2)

iView布局相关(2)

作者: 阿清哪去了 | 来源:发表于2018-10-27 23:18 被阅读56次

Layout组件的讲解及其源码分析

  • Layout组件不止一个,而是指一类


    Layout组件
    总体布局如图所示
  • 在源代码中这几个组件的分工
    • Layout组件的逻辑很简单,初始化了一个findSider方法,用来在页面加载的时候判断是否存在Sider组件。通过$children来将Layout所有一级子组件拿出来遍历判断,some方法若找到目标则停止遍历。再通过判断子组件的name是否为Sider判断是否有Sider子组件,若存在则使data中的hasSider为true,从而使名为wrapClasses的类名激活,用来进一步处理样式问题。
    findSider(){
      return this.$children.some(child => {
         return child.$options.name === 'Sider';
      });
    }
    
    • Header组件逻辑也十分简单,除了插值slot,没有别的内容,设置了样式。
    • Content组件逻辑也十分简单,与Header组件一样,设置了插值和样式名。
    • Footer组件逻辑依然十分简单,与前两者一样,仅设置了插值和样式名。
    • Sider组件比较复杂,首先我们分析props,因为自定义组件的API主要是三个部分:props、events、slots,分别用来传递属性、自定义事件、承载内容分发。
  • 我们把Sider组件单独拿出来分析:
    这里第一个属性value
    value属性,是一个布尔值,默认是false,注释写道if it's collpased now,如果它现在是闭合的。也就是说,侧边栏的闭合折叠和展开是通过这个属性来设置的。
    这个组件监听的内容正是value值,变化会触发一个事件

常见的布局模式分析

左右布局
上下布局

这里做了一个iView布局小demo:https://github.com/AqingCyan/iView_Test。安装完依赖直接运行serve即可。

相关文章

  • iView布局相关(2)

    Layout组件的讲解及其源码分析 Layout组件不止一个,而是指一类Layout组件总体布局如图所示 在源代码...

  • iView布局相关(1)

    iView24栅格的布局方式 如果span的值加起来超过了24,那么就会挤到下一行(不过我们建议这样,如果在可控范...

  • Iview验证相关

    1 ruleValidate 有多余的时候 ruleValidate 需要验证的字段多,而页面没有显示那么多字段...

  • Qt学习笔记(三)可视化布局

    1、Qt Creat布局 布局完成后需保存。 运行结果 2、布局相关参数 size hintsize policy...

  • Android创建与配置布局动画

    本文主要介绍Android中创建与配置布局动画的相关操作,主要包括: 1.为布局添加动画效果 2.布局...

  • 后台管理 --- vue

    1.iview后台管理项目(基于iview ui)文档2.element后台管理项目(基于element ui)文...

  • 【MAC 上学习 Vue】Day 4. 项目中引入 iView

    iView 安装 将 iView 框架安装到 Day 2 创建的 dm 项目中,需要使用 CMD 工具执行如下命令...

  • vue中实现分页数据多选

    1.实现效果 2.实现原理 引入iview组件库,使用iview的Table组件+Page组件。 在columns...

  • SystemUI 下拉框自定义(AN 9.0)

    1 dump 出ui 布局 以sound 为例找出其ui布局节点如下: 2 从代码找出相关布局元素 很明显包名为S...

  • 布局相关

    padding和margin都是边距的含义,但二者边距的定义不同 layout_gravity / gravity...

网友评论

      本文标题:iView布局相关(2)

      本文链接:https://www.haomeiwen.com/subject/fkjjtqtx.html