Extjs6(三)——用extjs6.0写一个简单页面
本文基于ext-6.0.0
一、关于border布局
在用ext做项目的过程中,最常用到的一种布局就是border布局,现在要写的这个简单页面也是运用border布局来做。border布局将页面分为五个部分,分别是north、south、west、east、center,对应着上、下、左、右、中,下面看一个简单的border布局的例子。

Ext.define('Learning.view.treelearn.trees', {
    extend: 'Ext.panel.Panel',
    xtype:'trees-main',
    referenceHolder: true,
    layout: 'border',
    defaults:{
        collapsible: true,
        split: true
    },
    items: [
        {
            region :'north',
            bind: {
                html: '上'
            }
        },
        {
            region :'south',
            bind: {
                html: '下'
            }
        },
        {
            reference:'treesLeft',
            //xtype:'treesLeft',
            region :'west',
            width:200,
            bind: {
                html: '左'
            }
        },
        {
            region :'east',
            width:200,
            bind: {
                html: '右'
            }
        },
        {
            reference:'treesCenter',
            region :'center',
            bind: {
                html: '中'
            }
        },
    ]
});
二、写north部分(头部)
上面这部分通常写系统名,用户名,也可以加注销按钮,搜索框等,这里就简单写个名字。

1、在上面的trees.js基础上改一下,加入treesTop
       {
            reference:'treesTop',
            xtype:'treesTop',
            region :'north',
            collapsible: false,
            split: false,
            height:50
        },
2、treesTop.js
Ext.define('Learning.view.treelearn.region.treesTop', {
    extend: 'Ext.toolbar.Toolbar',
    xtype:'treesTop',
    style:'background-color:#35baf6;color:#fff;',
    items:[
        {
            xtype:'label',
            bind:{
                text:'Extjs Learning'
            },
            style:'font-size:20px;font-weight:bold;'
        },'->',
        {
            xtype:'label',
            bind:{
                text:'当前用户:'+'麦豇豆',
            },
        },
    ]
});
三、写west部分(左侧导航栏)
下图一是导航栏完成效果,图二是目录结构(就是我这里用到的文件都放在哪了)
1、在上面的trees.js中改一下,加入treesLeft
     {
            reference:'treesLeft',
            xtype:'treesLeft',
            region :'west',
            width:220,
            bind: {
                html: '左'
            }
        },
2、写treesLeft.js,数据来自store
Ext.define('Learning.view.treelearn.region.treesLeft', {
    extend: 'Ext.tree.Panel',
    xtype:'treesLeft',
    title:'导航菜单',
    lines: false,
    rootVisible: false,
    store:Ext.create('Learning.store.treelearn.treesLeftStore', {
        storeId: "treesLeftStoreId"
    }),
});
3、treesLeftStore.js,模拟ajax,加载data.json中的数据
Ext.define('Learning.store.treelearn.treesLeftStore', {
    extend:"Ext.data.TreeStore",
    alias: 'store.treesLeftStore',
    proxy: {
        type: 'ajax',
        url: 'app/data/data.json'
    },
    root: {
        expanded: true
    },
    autoLoad: true
});
4、data.json,一般后台传过来的就是json数据,这里写的内容不涉及到后端,所以就自己模拟数据了。(这里少写几条数据,就是展示下格式)
[
{
text: 'Panels',
id: 'panels',
expanded: true,
children: [
{
id: 'basic-panels',
text: 'Basic Panel',
leaf: true
},
{
id: 'framed-panels',
text: 'Framed Panel',
leaf: true
}
]
},
{
text: 'Trees',
id: 'trees',
expanded: true,
children: [
{
id: 'basic-trees',
text: 'Basic Trees',
leaf: true
},
{
id: 'tree-reorder',
text: 'Tree Reorder',
leaf: true
}
]
},
]
-----------------------到这里侧边栏的样子就出来了----------------------------------------
但是只是样子货,能看不能用,下一篇写怎么让它可以跳转页面。Extjs6(四)——侧边栏导航根据路由跳转页面

Extjs6(三)——用extjs6.0写一个简单页面的更多相关文章
- linux设备驱动第三篇:如何写一个简单的字符设备驱动?
		
在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动.本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分配的一些内存 ...
 - React学习及实例开发(二)——用Ant Design写一个简单页面
		
本文基于React v16.4.1 初学react,有理解不对的地方,欢迎批评指正^_^ 一.引入Ant Design 1.安装antd yarn add antd 2.引入 react-app-re ...
 - 一步一步写一个简单通用的makefile(三)
		
上一篇一步一步写一个简单通用的makefile(二) 里面的makefile 实现对通用的代码进行编译,这一章我将会对上一次的makefile 进行进一步的优化. 优化后的makefile: #Hel ...
 - linux设备驱动第三篇:写一个简单的字符设备驱动
		
在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动.本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分 ...
 - 从0开始写一个简单的vite hmr 插件
		
从0开始写一个简单的vite hmr 插件 0. 写在前面 在构建前端项目的时候,除开基本的资源格式(图片,json)以外,还常常会需要导入一些其他格式的资源,这些资源如果没有第三方vite插件的支持 ...
 - 用Python写一个简单的Web框架
		
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...
 - 如何写一个简单的http服务器
		
最近几天用C++写了一个简单的HTTP服务器,作为学习网络编程和Linux环境编程的练手项目,这篇文章记录我在写一个HTTP服务器过程中遇到的问题和学习到的知识. 服务器的源代码放在Github. H ...
 - 如何写一个简单的shell
		
如何写一个简单的shell 看完<UNIX环境高级编程>后我就一直想写一个简单的shell来作为练习,因为有事断断续续的写了好几个月,如今写了差不多来总结一下. 源代码放在了Github: ...
 - 写一个简单的C词法分析器
		
写一个简单的C词法分析器 在写本文过程中,我参考了<词法分析器的实现>中的一些内容.这里我们主要讨论写一个C语言的词法分析器. 一.关键字 首先,C语言中关键字有: auto.break. ...
 
随机推荐
- 基于 Koa平台Node.js开发的KoaHub.js的控制器,模型,帮助方法自动加载
			
koahub-loader koahub-loader是基于 Koa平台Node.js开发的KoaHub.js的koahub-loader控制器,模型,帮助方法自动加载 koahub loader I ...
 - 3631: [JLOI2014]松鼠的新家
			
3631: [JLOI2014]松鼠的新家 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 707 Solved: 342[Submit][Statu ...
 - Caliburn.Micro - 框架搭建
			
简介:Caliburn.Micro是Caliburn的一个轻量级版本开源架构,可以用于wpf,sliverlight,wp7等,和注重模块化的Prism比起来也有许多优点,具体比较可以参考 此文 ht ...
 - web从入门开始(4)--------链接
			
l 图片标记 l 语法格式<img> l 常用属性 l width:图片宽度 单位:像素 l height:图片高度 单位:像素 l border:边框的粗细 l src:图 ...
 - RequireJS基础知识
			
RequireJS解决代码依赖问题,异步加载js,避免页面失去相应 RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签的脚本加载步骤.可以用它来加速.优化代 ...
 - (20)IO流之SequenceInputStream 序列流
			
序列流,对多个流进行合并. SequenceInputStream 表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直 ...
 - python 解析Excel
			
python 解析Excel 公司背景:好吧LZ太懒了.略... 原由起因:公司老板发话要导出公司数据库中符合条件的数据,源数据有400万,符合条件的大概有70万左右吧. 最终目的:符合条件的数据并生 ...
 - MFC画笔作用域的问题
			
今天发现了程序中的一个BUG.功能是在鼠标经过图形时,对图形进行加粗重绘.默认使用白色画刷.为防止白色背景下看不清,在白色背景下改用黑色画刷.代码如下 CPen* pOldPen;if (pDC-&g ...
 - 解决在eclipse中写ImageView时有警告的问题
			
Eclipse中写了一个android程序其中main.xml中ImageView哪行是个黄叹号!不知道为什么? 解决办法: android:contentDescription="@str ...
 - 前端学PHP之Smarty模板引擎
			
前面的话 对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名.功能最强大的一种PHP模板引擎.Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进. ...
 
			
		
                