2014-09-09 3 views
1

두 가지보기가 있으며 부분보기처럼 다른보기 내부에 중첩되어 있어야합니다. 다음과 같이 내 두 개의보기는 다음과 같습니다다른보기에 사용자 정의 xtype을 추가하려면 어떻게합니까?

ChemicalRisksView.js

Ext.define('HandSurvey.view.ChemicalRisksView', { 
     extend: 'Ext.form.Panel', 
     xtype: 'chemicalrisksview', 
     requires: [ 
      'Ext.form.FieldSet', 
      'Ext.field.Text', 
      'Ext.Button', 
      'HandSurvey.view.SpecificChemicalView' 
     ], 
     config: { 
      items:[{ 
       xtype: 'fieldset', 
       title: 'Fiberglass & Resins', 
       items: [ 
        { 
         name: 'test', 
         xtype: 'specificchemicalview' 
        }, 
        { 
         xtype: 'button', 
         text: 'Save', 
         action: 'saveChemicalRisks', 
         margin: '10 5', 
         ui: 'confirm' 
        } 
       ]   
      }] 
     } 
    }); 

SpecificChemicalView.js

Ext.define('HandSurvey.view.SpecificChemicalView', { 
    extend: 'Ext.form.Panel', 
    xtype: 'specificchemicalview', 
    requires: [ 
     'Ext.form.FieldSet', 
     'Ext.field.Toggle', 
     'Ext.field.Select', 
     'Ext.field.Text', 
     'Ext.Button' 
    ], 
    config: { 
     items:[{ 
      xtype: 'fieldset', 
      title: 'Edit Specific Chemical', 
      items: [ 
       { 
        name: 'name', 
        xtype: 'textfield', 
        label: 'Name' 
       }, 
       { 
        name: 'model', 
        xtype: 'textfield', 
        label: 'Model #' 
       }, 
       { 
        name: 'manufacturer', 
        xtype: 'textfield', 
        label: 'Manufacturer' 
       }, 
       { 
        name: 'averageExposure', 
        xtype: 'textfield', 
        label: 'Average Exposure Time' 
       }, 
       { 
        name: 'msdsOnFile', 
        xtype: 'checkboxfield', 
        label: 'MSDS On File' 
       }, 
       { 
        name: 'additionalInfo', 
        xtype: 'textfield', 
        label: 'Additional Info' 
       }, 
       { 
        xtype: 'button', 
        text: 'Save Chemical', 
        action: 'saveChemical', 
        margin: '10 5', 
        ui: 'confirm' 
       } 
      ]  
     }] 
    } 
}); 

그래서 나는 specificchemicalview로하기 위해 xtype을 정의하고 '부모'의 항목에 추가 전망. 그러나 아무 일도 일어나지 않습니다. ChemicalRisksView에는 아무것도 표시되지 않습니다. Chrome에서 디버깅 중이며 오류 메시지가 없습니다.

내 탐색보기에 모든 내보기를 추가하는 데이 동일한 방법을 사용하고 있습니다. 내가 여기서 무엇을 놓치고 있니?

+0

@Hown_ alias 메서드는 동일한 결과를 생성합니다. 예, 내 탐색보기에 '혼자'추가하면 둘 다 작동합니다. – Nick

답변

2

HTML에서 양식은 다른 양식을 포함 할 수 없습니다. Ext에서는태그를 사용하지 않기 때문에 작동 할 수 있지만 좋은 생각이라고는 생각하지 않습니다. 양식은 양식 필드 (isFormField:true)를 포함하도록 설계되었으므로 다른 양식은 분명히 하나가 아닙니다.

필자는 "특정보기"가 FieldSet을 확장하여 항목으로 필요한 양식 필드를 추가하는 재 설계를 고려할 것입니다.

이렇게하면 문제가 해결됩니다.

+0

고마워요, 그 속임수를했습니다. 하나의 패널을 다른 패널 안에 포함시킬 수 있습니까? – Nick

+0

패널을 무기한 중첩 할 수 있지만 양식을 포함 할 수는 없습니다. – Alexander

+0

예, 이유가있는 경우 패널을 중첩 할 수 있습니다. 형태가 합리적인 범위를 벗어납니다. 어쨌든 어떻게 든 작동시킬 수 있다고하더라도, 그러한 설정은 비논리적이며 이해하기 쉽지 않습니다. 나는 단순하고 솔직한 솔루션을 좋아합니다. 귀하의 경우에는 논리가 이렇게됩니다. 다시 말해, 재사용 가능한 필드 세트가 필요하므로 수업으로 정의한 다음 필요한 곳에서 사용하십시오. – Saki

관련 문제