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. ...
随机推荐
- 1609: [Usaco2008 Feb]Eating Together麻烦的聚餐
1609: [Usaco2008 Feb]Eating Together麻烦的聚餐 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1010 Solv ...
- 使用javascript解一道关于会议日程安排的面试题
这道面试题是从 HarrisonHao 的一篇博文中看到的:原文链接 我看到之后,感觉此题十分有趣,遂自己用 node.js 以不同的思路实现了一遍,实现中使用了 lodash 原题比较长,而且是英文 ...
- vue组件递归
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- nginx浏览目录
[root@localhost domains]# vi web.jd.com location / proxy_set_header X-Forwarded-For $proxy_add_x_for ...
- [AndroidTips]startService与bindService的区别
Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy我们有两种方式启动一个Service,他们对Service生命周期的影响是不一样的. ...
- Pycharm集成PyQt4并使用
- 解决win10 关键错误开始菜单和cortana无法工作 的问题(转-真的成功了)
问题描述: 一次强制关机后出现了这个对话框,注销.重启均无法解决问题 解决过程[因为我用的英文版操作系统,所以截图都是英文,请大家自行对照自己的操作系统]: 1.ctrl+alt+del 打开任务管理 ...
- pacejs进度条监控服务端数据加载是否完毕
记得刚刚入职新公司的时候,公司在做app里面的h5页面.跟之前公司的流程不太一样.之前都是写完静态页面后通过ajax加载接口数据,这公司省事了,写完静态页面直接扔给服务端,他们来填数据,确实给前端省事 ...
- artemplate使用
最近写了一个菜谱展示的网页,其中用到了artemplate模板,关于artemplate的好处就不多说了,直接上干货 1. <script src="js/template-nativ ...
- MCMC(四)Gibbs采样
MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链 MCMC(三)MCMC采样和M-H采样 MCMC(四)Gibbs采样 在MCMC(三)MCMC采样和M-H采样中,我们讲到了M-H采样已经可以很好 ...
