EXTJS 中 xtype : 'panel' 动态数据 怎么实现

时间:2022-06-28 18:25:58
    
    我有一个如下的表单元素 我想表单元素里的panel元素显示动态的数据,像 xtype : 'combo' 有一个store属性 是用来设置要显示的数据源的,但是panel中应该怎么动态加载数据呢? 
    如果panel中不能实现 在textfield中如何实现呢? 

    new Ext.form.FormPanel({
        id : 'a',
        frame : true,
        layout : 'form',
        labelWidth : 100,
        labelAlign : 'right',
        width : 550,
        url : path,
        items : [{
            name : 'add',
            xtype : 'panel',
            fieldlable : '动态数据'
        }]
    })

8 个解决方案

#1


问问题的人多 回答问题的人少

#2


没有人知道? 

#3


面板和ComboBox他俩没有可比性 其没有动态这一专有名词一说 如果一定要"动态" 也就是指ajax后台获取
Ext.Ajax.request({
url : '后台url',
method : 'POST',
success : function(o)
{
var labelText = o.responseText;
new Ext.form.FormPanel({
id : 'a',
frame : true,
layout : 'form',
labelWidth : 100,
labelAlign : 'right',
width : 550,
url : path,
items : [{
name : 'add',
xtype : 'panel',
fieldlable : labelText
}]
})

}
})

#4


xtype : 'panel'不用,默认就是panel;
楼主估计想ajax,请参照3楼
动态加载可以Ext.getCmp('panels id').add()方法,必要的话dolayout();

#5


引用 3 楼 fanchuanzhidu 的回复:
面板和ComboBox他俩没有可比性 其没有动态这一专有名词一说 如果一定要"动态" 也就是指ajax后台获取

JScript code
Ext.Ajax.request({
    url : '后台url',
    method : 'POST',
    success : function(o)
    {
        var labelText = o.respo……


要是 items 中有多个元素呢 ?  但是我只想在panel中动态数据 
items : [{
    name : 'add',
    xtype : 'panel',
    fieldlable : labelText
},{
    name : 'add2',
    ...
}]

#6


引用 5 楼 javagongcheng 的回复:
引用 3 楼 fanchuanzhidu 的回复:
面板和ComboBox他俩没有可比性 其没有动态这一专有名词一说 如果一定要"动态" 也就是指ajax后台获取

JScript code
Ext.Ajax.request({
url : '后台url',
method : 'POST',
success : function(o)
{
var labelText = o.r……

一样的 可以后台将 关键数据封装成数组或者json对象的形式 ajax到前台解析~~~

#7


引用 6 楼 fanchuanzhidu 的回复:
引用 3 楼 fanchuanzhidu 的回复:

一样的 可以后台将关键数据封装成数组或者json对象的形式 ajax到前台解析~~~


这么说 success : function(o) 
那个 o 就是 从后台来的数据? 
在后台 return 那个数据吗? 

#8


引用 3 楼 fanchuanzhidu 的回复:
面板和ComboBox他俩没有可比性 其没有动态这一专有名词一说 如果一定要"动态" 也就是指ajax后台获取

JScript code

Ext.Ajax.request({
    url : '后台url',
    method : 'POST',
    success : function(o)
    {
        var labelText = o.res……



大侠 我想做个 combo 与 panel 的联动 怎么做呢 ? 
当选择 combo 的时候 变动 panel 的值

#1


问问题的人多 回答问题的人少

#2


没有人知道? 

#3


面板和ComboBox他俩没有可比性 其没有动态这一专有名词一说 如果一定要"动态" 也就是指ajax后台获取
Ext.Ajax.request({
url : '后台url',
method : 'POST',
success : function(o)
{
var labelText = o.responseText;
new Ext.form.FormPanel({
id : 'a',
frame : true,
layout : 'form',
labelWidth : 100,
labelAlign : 'right',
width : 550,
url : path,
items : [{
name : 'add',
xtype : 'panel',
fieldlable : labelText
}]
})

}
})

#4


xtype : 'panel'不用,默认就是panel;
楼主估计想ajax,请参照3楼
动态加载可以Ext.getCmp('panels id').add()方法,必要的话dolayout();

#5


引用 3 楼 fanchuanzhidu 的回复:
面板和ComboBox他俩没有可比性 其没有动态这一专有名词一说 如果一定要"动态" 也就是指ajax后台获取

JScript code
Ext.Ajax.request({
    url : '后台url',
    method : 'POST',
    success : function(o)
    {
        var labelText = o.respo……


要是 items 中有多个元素呢 ?  但是我只想在panel中动态数据 
items : [{
    name : 'add',
    xtype : 'panel',
    fieldlable : labelText
},{
    name : 'add2',
    ...
}]

#6


引用 5 楼 javagongcheng 的回复:
引用 3 楼 fanchuanzhidu 的回复:
面板和ComboBox他俩没有可比性 其没有动态这一专有名词一说 如果一定要"动态" 也就是指ajax后台获取

JScript code
Ext.Ajax.request({
url : '后台url',
method : 'POST',
success : function(o)
{
var labelText = o.r……

一样的 可以后台将 关键数据封装成数组或者json对象的形式 ajax到前台解析~~~

#7


引用 6 楼 fanchuanzhidu 的回复:
引用 3 楼 fanchuanzhidu 的回复:

一样的 可以后台将关键数据封装成数组或者json对象的形式 ajax到前台解析~~~


这么说 success : function(o) 
那个 o 就是 从后台来的数据? 
在后台 return 那个数据吗? 

#8


引用 3 楼 fanchuanzhidu 的回复:
面板和ComboBox他俩没有可比性 其没有动态这一专有名词一说 如果一定要"动态" 也就是指ajax后台获取

JScript code

Ext.Ajax.request({
    url : '后台url',
    method : 'POST',
    success : function(o)
    {
        var labelText = o.res……



大侠 我想做个 combo 与 panel 的联动 怎么做呢 ? 
当选择 combo 的时候 变动 panel 的值