extjs6.0 动态加载_Extjs6(三)——用extjs6.0写一个简单页面

本文基于 Ext-6.0.0 介绍页面开发。首先运用 border 布局将页面分为五部分,给出示例代码。接着编写 north 部分,加入系统名、用户名等;然后编写 west 部分,即左侧导航栏,包括在 trees.js 中修改、编写 treesLeft.js 加载数据,模拟 ajax 从 data.json 加载数据,最后侧边栏初步成型,后续将实现跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文基于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}]

},

]

-----------------------到这里侧边栏的样子就出来了----------------------------------------

但是只是样子货,能看不能用,下一篇写怎么让它可以跳转页面。

原文:http://www.cnblogs.com/MaiJiangDou/p/6744835.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值