Forms Sencha Touch 2:将推送数据加载到表单中

Forms Sencha Touch 2:将推送数据加载到表单中,forms,sencha-touch-2,push,Forms,Sencha Touch 2,Push,我在将数据加载到表单时遇到了一些问题,我按了onSelect。 (正在加载特定列表项的详细信息) onProductSelect:函数(\u数据视图,\u记录) { Ext.getCmp(“产品”).push({ 标题:_record.data.name, 数据:_record.data, styleHtmlContent:对, xtype:“产品详细信息” }); } 我正在将另一个视图(productDetails)推到我的productView(导航视图)上。数据(_record.

我在将数据加载到表单时遇到了一些问题,我按了onSelect。 (正在加载特定列表项的详细信息)

onProductSelect:函数(\u数据视图,\u记录)
{
Ext.getCmp(“产品”).push({
标题:_record.data.name,
数据:_record.data,
styleHtmlContent:对,
xtype:“产品详细信息”
});
}   
我正在将另一个视图(productDetails)推到我的productView(导航视图)上。数据(_record.data)可通过

tpl:'{someField}'
现在我想知道如何将这些数据(字段数据)输入到文本字段或表单的按钮(或类似的东西)中


如果有人对如何将数据导入视图/表单或如何更改视图(从列表到详细信息)有更好的了解,请告诉我:)

以下是对代码的一些建议:

1.在Sencha Touch中使用下杆(“UU”)用于具有get/set/apply/update的变量。虽然您使用的是局部变量,但这是最佳实践

2.希望“记录”这个词是一个记录。如果是,则应使用:

name = _record.get('name');
data = _record.getData();
填写表单的最佳方法是使用formpanel并将值添加到formpanel,同时所有字段都指定了popper名称:

如果您的数据是:

data = {name: 'Kurt001', password: '12er51wfA!'}
你可以用这个:

Ext.define('App.view.ProductDetails', {
    extend: 'Ext.form.Panel',
    xtype: 'productdetails',

    config: {
        cls: 'product-details',
        scrollable: null,
        layout: 'vbox',

        defaults: {
            labelAlign: 'top',
            clearIcon: false
        },

        items: [{
            xtype: 'textfield',
            name: 'name'
        }, {
            xtype: 'passwordfield',
            name: 'password'
        }, {
            xtype: 'button',
            itemId: 'btnLogin'
        }]
    }
});
要添加数据,只需使用:

Ext.Viewport.down('.productdetails').setValues(data);
备选方案:

var view = Ext.Viewport.down('.productdetails')
view.down('.textfield').setValue(data.name);
view.down('.passwordfield').setValue(data.password);
另类

view.down('.field[name=name]').setValue(data.name);
view.down('.field[name=password]').setValue(data.password);
要从一个视图到下一个视图获取数据,可以使用不同的选项:

1.将数据设置为当前视图,并从该视图中获取数据。看起来你有一张清单。因此,您可以将数据应用于列表:

view.down('.list').myData = data;
扩展版本是在配置中创建一个自定义列表,其中包含myData。 这样,您可以使用:

view.down('.list').setMyData(data);
还是你的情况

_dataview.setMyData(data);

2.使用商店。当您已经在传递记录时,您可能希望将所选字段添加到存储模型中,并只需设置标志。

以下是对代码的一些建议:

1.在Sencha Touch中使用下杆(“UU”)用于具有get/set/apply/update的变量。虽然您使用的是局部变量,但这是最佳实践

2.希望“记录”这个词是一个记录。如果是,则应使用:

name = _record.get('name');
data = _record.getData();
填写表单的最佳方法是使用formpanel并将值添加到formpanel,同时所有字段都指定了popper名称:

如果您的数据是:

data = {name: 'Kurt001', password: '12er51wfA!'}
你可以用这个:

Ext.define('App.view.ProductDetails', {
    extend: 'Ext.form.Panel',
    xtype: 'productdetails',

    config: {
        cls: 'product-details',
        scrollable: null,
        layout: 'vbox',

        defaults: {
            labelAlign: 'top',
            clearIcon: false
        },

        items: [{
            xtype: 'textfield',
            name: 'name'
        }, {
            xtype: 'passwordfield',
            name: 'password'
        }, {
            xtype: 'button',
            itemId: 'btnLogin'
        }]
    }
});
要添加数据,只需使用:

Ext.Viewport.down('.productdetails').setValues(data);
备选方案:

var view = Ext.Viewport.down('.productdetails')
view.down('.textfield').setValue(data.name);
view.down('.passwordfield').setValue(data.password);
另类

view.down('.field[name=name]').setValue(data.name);
view.down('.field[name=password]').setValue(data.password);
要从一个视图到下一个视图获取数据,可以使用不同的选项:

1.将数据设置为当前视图,并从该视图中获取数据。看起来你有一张清单。因此,您可以将数据应用于列表:

view.down('.list').myData = data;
扩展版本是在配置中创建一个自定义列表,其中包含myData。 这样,您可以使用:

view.down('.list').setMyData(data);
还是你的情况

_dataview.setMyData(data);

2.使用商店。当您正在传递一条记录时,您可能希望将所选字段添加到存储模型中,并只需设置标志。

是否要在列表中项目的正下方显示该按钮?或者您正在列表下方添加项目?您是否试图在列表中项目的正下方显示按钮?或者您正在列表下面添加项目?