Crowder выше здесь прав, когда вы программно меняете оба фильтра одновременно, и вы только sh запускаете обратный вызов один раз, когда вы ожидаете, что пользователь поменяет фильтры один за другим, это другое вещь.
На самом деле нет никакого способа узнать, собирается ли пользователь изменить конечное время или нет, после изменения начального времени, так как вы узнаете, как долго ждать запуска триггера начального времени?
Единственная альтернатива - добавить кнопку после 2 входных фильтров с надписью «Подтвердить фильтр» и инициировать обратный вызов для этого.
На самом деле, есть другой способ, но он включает в себя эффективное выполнение двух обратных вызовов с сначала отменяется в середине - go, когда срабатывает 2-й, и это, вероятно, то, чего вам следует избегать sh, верно?