Как создать повторно используемые и MCV-совместимые поля формы в extjs4? - PullRequest
1 голос
/ 15 ноября 2011

У меня есть некоторые поля формы и наборы полей, и я хочу использовать их в разных представлениях (которые могут иметь разные макеты и / или несколько полей).

Мне нужно решение, при котором мне не нужно повторятьэти поля формы в каждом представлении, которое я создаю, и я хочу использовать ранее определенные. Что вы предлагаете для приложения на основе MVC?

1 Ответ

4 голосов
/ 15 ноября 2011

Вот очень простой пользовательский компонент, который вы можете повторно использовать в формах (он будет находиться в вашей папке app / form / field с именем InterestRate.js):

Ext.define('app.form.field.InterestRate', {
  extend: 'Ext.form.field.Number',
  alias:'widget.ratefield',

  minValue:0,
  step:0.05,
  fieldLabel:'Rate'
});

Затем вы можете использовать его вформа, подобная этой:

Ext.define('app.view.Quote', {
  extend:'Ext.form.Panel',
  requires:[
    'app.form.field.InterestRate'
  ],
  items:[
  {
    xtype:'ratefield'
  }    
  ]
});

Вы можете сделать компонент настолько сложным, насколько захотите, например, целую сетку или контейнер с несколькими элементами.

Вопрос в том, хотите ли выего поведение должно быть автономным или контролироваться контроллером главной формы?

...