Sencha Touch:在formpanel上显示和编辑HasMany字段

时间:2012-03-05 19:57:04

标签: javascript forms sencha-touch has-many

我的问题是:如何在sencha touch API的formpanel上显示和编辑hasMany字段

Sencha touch没有列表框或任何其他功能来天生这样做。

我的例子

候选:

  • firstName:[textfield]
  • lastName:[textfield]
  • ...
  • 采访者名单
候选人有很多面试官

我查看了tpl和xtemplates但无法正常工作

我的想法是让一个文本字段也可以作为搜索使用ajax,旁边有一个添加按钮(+),如果它是除了第一个文本字段和( - )按钮之外的任何文件字段。

即使获得显示在同一行上的文本字段和按钮也很困难

我的模特:

     Ext.require('Candidates.model.Interviewer', function() {
        Ext.define('Candidates.model.Candidate', {
            extend: 'Ext.data.Model',

            config: {
                fields: [
                    {name: 'id', type: 'string'},
                    {name: 'firstName', type: 'string'},
                    {name: 'lastName', type: 'string'},
                    {name: 'email', type: 'string'},
                    {name: 'dept', type: 'string'},
                    {name: 'room', type: 'string'},
                    {name: 'greet', type: 'string'},
                    {name: 'present', type: 'boolean'},
                    {name: 'date', type: 'date'},
                    {name: 'status', type: 'string'},
                    {name: 'completed', type: 'boolean'}
                ],
                hasMany: {
                    model: 'Candidates.model.Interviewer',
                    name: 'Interviewers'
                }
            },
      });

访

    Ext.define('Candidates.model.Interviewer', {
        extend: 'Ext.data.Model',

        config: {
            fields: [
                {name: 'id', type: 'int'},
                {name: 'firstName', type: 'string'},
                {name: 'lastName', type: 'string'},
                {name: 'username', type: 'string'},
                {name: 'password', type: 'string'},
                {name: 'email', type: 'string'},
                {name: 'dept', type: 'string'}
            ]
        }
    });

in fieldset items [

    {
        xtype: 'textfield',
        name : 'firstName',
        label: 'First Name',
    },
    {
        xtype: 'textfield',
        name : 'lastName',
        label: 'Last Name',
    },
    {
        xtype: 'textfield',
        name: 'interviewers',
        id: 'interviewerfield',
        label: 'Interviewer(s)',
        tpl: [
            '<div class="candidate">',
                '<tpl for="interviewers">',
                    '<div class="interviewers">',
                        '{firstName}',
                    '</div>',
                '</tpl>',
            '</div>'
        ].join(''),
        store: 'Candidates'
    },

想法我甚至试图只显示一个访问者名单

有人知道如何在表格上显示多个字段吗?

1 个答案:

答案 0 :(得分:0)

我遇到同样的问题,我通过Ext.dataview.DataView找到解决方案,而不是使用Ext.List。