Нажатие кнопки на 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))))
Другие вопросы по тегам