У меня есть форма данных RAD в моем приложении на языке nativescript.Форма имеет два поля для типа идентификатора и идентификационного номера.Поле типа идентификатора - это средство выбора, которое отображает данные из серверной службы.Мой исходный объект выглядит так:
this.mySourceObj = new User("Passport Id", "A2653JHSJ12");
Я хочу, чтобы мой исходный объект сохранял значение типа идентификатора в виде строки.Поэтому я изменил редакторы, используя разметку HTML, например:
<TKEntityProperty
tkDataFormProperty
name="idType"
displayName="Id Type"
index="1"
[valuesProvider]="idTypesProvider"
>
<TKPropertyEditor
tkEntityPropertyEditor
type="Picker"
></TKPropertyEditor>
</TKEntityProperty>
, и в моем файле ts я регистрирую свои значения провайдеров, например:
this.idTypesProvider = {
key: "id",
label: "name",
items: [...idTypesArr]
};
С этим набором мой редактор выбора заполняетсяданные, но когда я выбираю один элемент, он не отражается в моем коде, поэтому во время отправки формы поле имеет значение null.
Я хотел бы получить значение выбранного элемента в виде законченного объекта, т.е.(id, name, ...).
Я пытался использовать свойство commit для получения подтвержденного значения, но оно регистрирует индексное значение элемента.
if (args.propertyName === "idType") {
const selectedIdType = this.mySourceObj.idType;
console.log(`the committed id type is :`, selectedIdType);
} else {
console.log("No property selected");
}
Iтакже наткнулся на свойство convert, которое привязано в dom вроде:
<TKEntityProperty
tkDataFormProperty
name="idType"
displayName="Id Type"
index="1"
[converter]="valsConverter"
[valuesProvider]="idTypesProvider"
>
<TKPropertyEditor
tkEntityPropertyEditor
type="Picker"
></TKPropertyEditor>
</TKEntityProperty>
Но я не знаю, как реализовать «конвертер».Любая помощь очень ценится.
Мне нужна ситуация, когда, когда пользователь выбирает тип идентификатора, моя консоль может регистрировать полный объект выбранного элемента.