У меня есть форма, которая должна генерировать свои поля динамически. Поля будут двух типов: текстовые или выпадающие. Текстовая часть работает нормально, но у меня проблемы с выпадающим списком. Я не могу установить valuesProvider
поля. Вот код:
const DataFormEditorType = require('nativescript-ui-dataform').DataFormEditorType;
exports.onLoaded = function(args) {
var page = args.object;
var productVM = Observable({
id: 1
});
page.bindingContext = productVM;
dataForm = page.getViewById("myDataForm");
let configForm = {};
var name = 'Dropdown'; //loaded dynamically
configForm[name] = ''; //add field to list of fields with empty initial value
productVM.set('config', configForm);
console.log(dataForm); //return RadDataForm
var temp = dataForm.getPropertyByName('Dropdown');
console.log(temp); //returns null
var pickerEditor = new PropertyEditor();
pickerEditor.type = DataFormEditorType.Picker;
temp.editor = pickerEditor;
temp.valuesProvider = 'Test 1, Test 2'; //will be loaded dynamically
}
XML
<df:RadDataForm id="myDataForm" source="{{ config }}" />
Я пытаюсь следовать этому примеру , но я думаю, что это не переводится в JS точно.
Редактировать:
Мне удалось добраться до собственности. Проблема заключалась в пробелах в именах полей. После преобразования всех имен в верблюжий регистр, я получаю значение в переменной temp
, но все еще не удается выполнить значения valuesProvider. Я пробовал
temp.valuesProvider = 'Test 1, Test 2';
temp.valuesProvider = ['Test 1, Test 2'];
temp.valuesProvider = ['Test 1', 'Test 2'];
Ни одна из этих работ.