Обратная навигация RadDataForm уничтожает iOS привязку источника - PullRequest
0 голосов
/ 26 февраля 2020

Я также опубликовал это как проблему с NativeScript, но пока никому до этого нет дела. Я надеюсь, что у кого-то может быть решение этой проблемы.

RadDataForm неправильно связывается с iOS при переходе назад к компоненту с формой. После перехода назад вы можете изменить значения в полях формы, но эти значения не будут распространены в исходный объект.

Воспроизвести Откройте проект игровой площадки: заполните значение в поле «test» и нажмите «Test» проверять. Затем нажмите «Далее», чтобы перейти прочь. Затем нажмите «назад» и попробуйте обновить значение в «test», привязка исчезла, и «Test» (или что-то еще) больше не будет обновлять значение исходной переменной.

Ожидаемое поведение Исходная переменная должна быть обновлена ​​после перехода обратно к форме и изменения значений.

Пример проекта https://play.nativescript.org/?template=play-ng&id=vwLAH9&v=3

Собственный сценарий выпуска: https://github.com/NativeScript/nativescript-ui-feedback/issues/1350

1 Ответ

1 голос
/ 27 февраля 2020

Я посмотрел и посмотрел, что нативный делегат iOS установлен в null, когда DataForm выгружается, но не возвращается в загруженное событие, что останавливает события в форме после обратной навигации. Простой обходной путь - установка делегата на загруженное событие.

onDataFormLoaded(event) {
    const dataForm = event.object;
    if (dataForm._ios && dataForm._nativeDelegate && !dataForm._ios.delegate) {
        dataForm._ios.delegate = dataForm._nativeDelegate;
    }
}

Обновленная игровая площадка

...