Не работает ни в песочнице ни в реале.. :(
|
Совсем все плохо... перенес к себе на комп, у меня поля формы вообще не заполняются из вьюмодели
Интересно, а где взять весь код примера? http://dev.sencha.com/extjs/5.1.0/ex...-child-session чтобы его пощупать отдельно... |
Итак кое что удалось накопать.
1) в песочнице явно что-то не так с имитацией AJAX-запросов. Из-за чего такая ошибка вылетает: Uncaught Error: Invalid record id returned for 2@User 2) я переделал хранилище с AJAX на ARRAY, чтобы было оно в памяти, чтобы не было необходимости имитировать AJAX-запросы После этого вышеупомянутая ошибка пропала наконец. Но к сожалению поля формы не заполняются. Ровно такая же проблема и у меня на компе. Я убрал links. Было так: me.dialog = view.add({ xtype: 'user-form', viewModel: { data: { title: record ? 'Редактирование: ' + record.get('name') : 'Добавить пользователя' }, links: { currentUser: record || { type: 'User', create: true } } } }); Стало так: me.dialog = view.add({ xtype: 'user-form', viewModel: { data: { title: record ? 'Редактирование: ' + record.get('name') : 'Добавить пользователя', currentUser: record } } }); Теперь все работает. Вот моя песочница: https://fiddle.sencha.com/#fiddle/o4e ПОСТСКРИПТУМ: Почти в тему (так как это происходит именно в этой теме) и не совсем по теме (так как никак не связано с описываемыми проблемами): Блин, из-за проблем в коде этой страницы форума у меня теперь вдобавок все тормозит... чето выдает ошибку, связанную с гуглом... Uncaught Error: adsbygoogle.push(): All ins elements in the DOM with class=adsbygoogle already have ads in them. gd @ pagead2.googlesyndication.com/pagead/js/adsbygoogle.js:54 hd @ pagead2.googlesyndication.com/pagead/js/adsbygoogle.js:55 (anonymous function) @ pagead2.googlesyndication.com/pagead/js/adsbygoogle.js:55 (anonymous function) @ pagead2.googlesyndication.com/pagead/js/adsbygoogle.js:55 |
Возникает вопрос, зачем эти линки, если и так все работает? И почему эти линки не работают? Но это я уже отдельным постом заделаю. Правда не скоро.
|
Кстати, есть проблема. Там в форму передается ссылка на выделеную запись для редактирования. И когда мы ее отредактировали, то отменить выделения не получится. Ибо они уже в хранилище отобразились. Как отменить - не знаю. Вроде по идее нужно копию записи делать и ее редактировать. Или делать по старинке без bind (с использованием form.updateRecord()). Как у них в примере это работает - ума не приложу...
Хмм... может для этого линки и были нужны? В связи с этим обстаятельством код корректирую: me.dialog = view.add({ xtype: 'user-form', viewModel: { data: { title: record ? 'Редактирование: ' + record.get('name') : 'Добавить пользователя', currentUser: record ? record.copy() : new FiresAPP.model.security.User } } }); |
khusamov,
Большое спасибо за развернутый ответ.. с большего понимаю как все работает.. дальше буду сей пример под себя модифицировать.. p.s. ваша помощь очень помогает разобраться... |
Часовой пояс GMT +3, время: 02:39. |