Нажатие кнопки на Seesaw (Clojure) не приводит к получению новых значений переменных
Возникла проблема с качелями, когда я пытаюсь позволить пользователю выбрать дату, используя поля со списком, а затем вызвать функцию нажатием кнопки:
(listen load-data-btn :action (load-data
(selection year-cmb) (selection month-cmb) (selection day-cmb)))
Это работает, однако, действие загружается при первоначальном запуске программы, поэтому при каждом нажатии кнопки оно всегда содержит первое значение, выбранное в поле со списком. Поэтому, когда я нажимаю кнопку, он не ищет новое значение в (selection year-cmb), он просто сохраняет то, что уже получил, по умолчанию устанавливается значение "".
Есть идеи, как мне сделать так, чтобы каждый раз, когда я нажимал кнопку вызова, он получал новое значение внутри поля со списком?
1 ответ
Моя проблема заключалась в том, что я не инкапсулировал значение в выражении (fn [e]), как показано ниже
(listen load-data-btn :action (fn [e]
(load-data (selection year-cmb) (selection month-cmb) (selection day-cmb))))