Слишком высокая инерция и импульс прокрутки ион-дата-время - PullRequest
1 голос
/ 01 июля 2019

На физическом устройстве (iOS) сборщик не останавливается, как ожидалось, при медленных скоростях прокрутки, он, кажется, имеет слишком большую инерцию.Это тонкий, но отличается от родного выбора времени iOS.Я использую ionic 4.1

, например, если вы пытаетесь установить будильник на устройстве iOS.Он прокручивает немного слишком долго на низких скоростях и делает более склонным к ошибкам, чтобы выбрать правильное время.

Кто-нибудь знает способ изменить поведение этого элемента управления, чтобы соответствовать родному наiOS?

Я знаю, что не рекомендуется менять код в папке node_modules, однако я нашел переменные, которые, по-моему, мне нужно изменить: \ node_modules @ ionic \ core \ dist \ collection\ components \ picker-column \ picker-column.js

const PICKER_OPT_SELECTED = 'picker-opt-selected';
const DECELERATION_FRICTION = 0.97
const MAX_PICKER_SPEED = 90;
const TRANSITION_DURATION = 150;

Источник: https://github.com/ionic-team/ionic/blob/master/core/src/components/picker-column/picker-column.tsx#L398

Но изменение их (или даже комментирование всего файла), похоже, ничего не делает.

Мой код похож на следующий:

<ion-datetime 
              [(ngModel)]="start"
              displayFormat="HH:mm" 
              minuteValues="0,15,30,45" 
              picker-format="HH:mm"
              (ionChange)="onChangeStartTime($event)"
</ion-datetime>

1 Ответ

1 голос
/ 01 июля 2019

Эти фрагменты являются некомпилированной версией Ionic Core.

Я думаю, чтобы изменения этих констант были распознаны в работающем приложении, вам нужно будет пересобрать свою копию Ionic Core.

Если вы посмотрите в репозитории contributing.md , это показывает, как его собрать, что является довольно стандартным процессом.

Я думаю, что вам нужно сделать:

  1. Отредактируйте const строки, которые вы хотите внутри node_module
  2. Следуйте руководству contributing.md, чтобы установить и собрать эту копию Ionic Core в проекте
  3. Празднуйте

Как мы уже говорили в Facebook, это не идеальное решение. Редактировать файлы ядра не рекомендуется, поскольку они будут перезаписаны при следующем обновлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...