diff --git a/include/ftxui/component/input.hpp b/include/ftxui/component/input.hpp index d20cc85f..92f3d210 100644 --- a/include/ftxui/component/input.hpp +++ b/include/ftxui/component/input.hpp @@ -20,8 +20,8 @@ class Input : public Component { std::wstring placeholder; // State update callback. - std::function on_change = []() {}; - std::function on_enter = []() {}; + std::function on_change = [] {}; + std::function on_enter = [] {}; // Component implementation. Element Render() override; diff --git a/src/ftxui/component/input.cpp b/src/ftxui/component/input.cpp index db04765c..7a760556 100644 --- a/src/ftxui/component/input.cpp +++ b/src/ftxui/component/input.cpp @@ -52,6 +52,7 @@ bool Input::OnEvent(Event event) { return false; content.erase(cursor_position - 1, 1); cursor_position--; + on_change(); return true; } @@ -60,6 +61,7 @@ bool Input::OnEvent(Event event) { if (cursor_position == int(content.size())) return false; content.erase(cursor_position, 1); + on_change(); return true; } @@ -87,6 +89,7 @@ bool Input::OnEvent(Event event) { if (event.is_character()) { content.insert(cursor_position, 1, event.character()); cursor_position++; + on_change(); return true; } return false;