#javascript #extjs #extjs6
#javascript #extjs #extjs6
Вопрос:
Вот моя конфигурация displayfield, которая является элементом панели формы..
{
fieldLabel: "Class"
itemId: "class"
name: "class"
readOnly: true
value: "my Class"
xtype: "displayfield"
}
У меня есть ExtJS displayfield, который работает нормально, но в некоторых случаях, даже если значение доступно, значение не отображается. Даже значение вводится после метода рендеринга.
afterrender: function(val, eOpts){
let _this = this,
view = _this.getView();
console.log(view.itemId " " view.value);
}
После моей глубокой отладки я заметил, что само значение отсутствует в dom. Итак, я планирую вставить элемент в метод dom afterrender. Кто-нибудь может подсказать мне, как я могу вставить значение в displayfield dom.
мой идентификатор такой, но он не работает должным образом. некоторое время стиль и метка только удаляются.
afterrender: function(val, eOpts){
let _this = this,
view = _this.getView();
console.log(view.itemId " " view.value);
view.el.dom.innerText = view.value;
}
Комментарии:
1. Проверить данные о доходах (json?) когда displayfield пуст.
2. Я получаю значение в данных.
3. Какие данные? Можете ли вы показать входящий json для своей формы?
4. Я использую mongo, поэтому данные json, которые я предоставляю, образуют соответствующую конфигурацию поля, которую получаю только я.
5. Ошибка, похоже, находится в другом месте. попробуйте:
Ext.first('#formItemId').getForm().findField('displayFieldName').setValue(12)
. Вот пример с двумя возможными способами заполнения данных в displayfield
Ответ №1:
Неясно, как ваше поле получает данные. Если я вас правильно понимаю, вам следует использовать метод displayfield.setValue(), подобный этому:
Согласно вашему описанию, трудно понять причину, по которой displayfield не отображает какое-либо значение. Но вы можете проверить это сами, посмотрев console.log(IdOfYourDisplayField);