- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在两个并排的面板中制作两个网格。我尝试使用以下代码:
Ext.define('BlackWhiteList', {
extend: 'Ext.panel.Panel',
xtype: 'blackwhitelist',
layout: {
type: 'table',
columns: 2,
tableAttrs: {
style: {
width: '100%'
}
}
},
defaults: {
border: false
},
fieldDefaults: {
labelWidth: 110,
anchor: '100%'
},
items: [{
title: 'Black List',
cls: 'blackList',
items: [
grid
]
},
{
title: 'White List',
items: [
grid
]
}
]
});
var store = Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
fields: ['name', 'email', 'phone'],
data: [
{ name: 'Lisa', email: 'lisa@simpsons.com', phone: '555-111-1224' },
{ name: 'Bart', email: 'bart@simpsons.com', phone: '555-222-1234' },
{ name: 'Homer', email: 'homer@simpsons.com', phone: '555-222-1244' },
{ name: 'Marge', email: 'marge@simpsons.com', phone: '555-222-1254' }
]
});
var grid = Ext.create('Ext.grid.Panel', {
store: store,
columns: [
{ text: 'Name', dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email', flex: 1 },
{ text: 'Phone', dataIndex: 'phone' }
]
});
但目前只显示标题“黑名单”和“白名单”,内容为空。我没有收到任何错误消息或任何可以告诉我这里出了什么问题的信息。
我使用 ExtJS 6。
最佳答案
这确实是一个棘手的问题,您需要修复代码中的 2 个问题,这样您的代码才能正常工作。
首先是定义网格的方式以及使用网格的位置,a/m 代码将在执行时为网格产生未定义的值。为什么?这与 JS 中的提升有关,JS 将识别网格变量但不会为其分配值,因此当您创建 Ext 面板时,您的网格值等于未定义。
所以首先要做的是将 var grid 代码块移到顶部。
但是现在您将面临第二个问题,您将看到只渲染了一个网格,为什么?
因为网格是一个引用类型的对象,这会使两个面板试图显示相同的网格,这是不可能的,所以它只显示在一个地方。
因此,要解决此问题,您需要为网格使用 Ext.define 并为其分配 xtype,因此当您在面板中多次使用 xtype 时,Ext 将创建网格的 2 个完整的不同实例。或者你可以制作 var grid1 和 var grid2 但这并不好
最后一个工作示例 Fiddle
代码示例
App.js
Ext.application({
name: 'Test',
requires: ['Test.MyGrid'],
launch: function () {
Ext.create('Ext.panel.Panel', {
renderTo: Ext.getBody(),
layout: {
type: 'table',
columns: 2,
tableAttrs: {
style: {
width: '100%'
}
}
},
defaults: {
border: false
},
fieldDefaults: {
labelWidth: 110,
anchor: '100%'
},
items: [{
title: 'Black List',
cls: 'blackList',
items: [{
xtype: 'myGrid'
}]
}, {
title: 'White List',
items: [{
xtype: 'myGrid'
}]
}
]
});
}
});
应用程序/MyGrid.js
var store = Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
fields: ['name', 'email', 'phone'],
data: [
{ name: 'Lisa', email: 'lisa@simpsons.com', phone: '555-111-1224' },
{ name: 'Bart', email: 'bart@simpsons.com', phone: '555-222-1234' },
{ name: 'Homer', email: 'homer@simpsons.com', phone: '555-222-1244' },
{ name: 'Marge', email: 'marge@simpsons.com', phone: '555-222-1254' }
]
});
Ext.define('Test.MyGrid', {
extend:'Ext.grid.Panel',
store: store,
xtype:'myGrid',
columns: [
{ text: 'Name', dataIndex: 'name' },
{ text: 'Email', dataIndex: 'email', flex: 1 },
{ text: 'Phone', dataIndex: 'phone' }
]
});
希望我说清楚了:)
关于javascript - 在单独的面板中创建两个网格 - Ext JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52650213/
图书馆 EXT-JS 、 EXT-CORE 、 EXT-GWT 之间有什么区别,因为我在 ext-js 上工作所以请用外行语言解释我:) 最佳答案 最初它只是 Ext JS。作为 3.x 的一部分,E
我在 Ext 窗口中有 Ext GridPanel。为了使 Ext Window Resizeable,我将它的属性设置为 true 并且它工作正常。 但是,还想让网格可以调整大小。因此,为此我也尝试
我想构建一个网络应用程序。每当我在 Linux 终端发出命令时 $ sencha app build 在构建应用程序时,我遇到了一些与依赖相关的问题。错误类似于 Failed to resolv
我正在开发一个由 domain.ext 提供的网络应用程序。此 Web 应用程序使用基于 cookie 的 session ,并为用户提供在子域上托管包含自定义 JavaScript 的网页的能力,例
我正在尝试设置 LAMP使用 docker 的 web 服务器,很高兴发现 php 上的好人已经放在一起了a docker container for php . 通过阅读文档,我发现了三个表面上可以
美好的一天,伙计们, 我知道这听起来像是一个愚蠢的问题。但是,我想知道是否有人可以向我解释之间的区别。外网和 EXT.JS .. 我一直试图理解它们,但结果为零。据我所知,EXT.NET集成了EXT.
与常规 Ext.ajax 调用相比,Ext.direct 的主要优点是什么?我什么时候应该考虑使用一种而不是另一种? 最佳答案 实际上,这取决于您的后端、您想要做什么以及适合您的情况。你提出的问题相当
Ext.extend 和 Ext.override 有什么区别?在java中,你扩展一个类并覆盖它的方法。但是看看语法,似乎在 extjs 中,你既可以扩展一个类,也可以覆盖一个类 最佳答案 Ext.
我是 Ext Js 新手。我有以下文件结构。 我正在测试以下代码 - First Ext Js Page
我正在使用修改后的kanderson-well beats委托版本来修改AVKit需要的请求。所有代码将在帖子的底部。修改请求、创建字幕播放列表并将它们添加到主播放列表中是很好的,因为它们在请求AVM
我无法使用 Ext.namespace() 访问对象。 返回错误类型错误:Company.Test 不是函数 一直在查看文档但仍然无法使用对象。 这是命名空间脚本 Ext.namespace('Com
首先,我的问题是我想知道 Ext.Define() 和 Ext.Create() 之间有什么不同, 我想知道如何以正确的方式使用它们。 我查看了我的代码和许多 Extjs4 MVC 教程, 我在 Ex
我们正在使用 ext.net 版本 5.2.0,据我了解,它包括 Ext JS 7.2.0.67。我正在使用看起来像这样的 slider 控件 ext.net 5.2 Slider: https://
我刚刚使用 Ext JS 和 Ext Gantt 技术在我们的 .NET (WebForms) 项目中完成了甘特图页面的开发。正如我在之前的 post 中所述,效果很好。 我现在的问题是,与 hte
在我的 ExtJS 4.0.7 应用程序中,我需要动态加载一些第 3 方 javascript,以呈现某些面板内容(一些精美的图表/可视化小部件)。 我遇到了一个古老的问题,即在我尝试使用它之前脚本没
使用 ext-all.js 和 ext-all-debug.js 有什么区别? 从 debug.js 更改为 ext-all.js 会提高性能吗? 我可以假设从调试切换到普通文件不会对应用程序产生任何
我是在服用疯狂的药丸,还是这两件事几乎相同? 最佳答案 在这一点上花了大量时间使用这两个框架后,我会说它们并不“非常相同”。虽然它们可能都使用相同的图形 Assets ,但它们实现的方式却大不相同,并
我正在使用 Ext.form.Panel ,其配置如下: defaultType : 'textfield', layout : 'auto', height : '60%', w
我想重写 this从 Ext3 到 Ext4 的教程。但是从我能够观察到的情况来看,createDelegate 函数已被删除(可能与许多其他事情一样)并且它不起作用。我试过调用 call/apply
目标: 仅在需要时加载 Ext 框架(JS 文件)。 问题: 在稍后的状态下加载 Ext.JS 时,Ext.onReady 不会触发。我试着解决 Ext.onReady,但我也没有开始工作。我很高兴有
我是一名优秀的程序员,十分优秀!