Comments (1)
Input fields are somewhat hard to fit into this model and the library needs to do some of its own state tracking to make various cases work as the user expects. The problem here is the input only changes its contents when the underlying value of the observable changes. In your case, the value of @input
is always ""
, so that never happens. If you change your code to modify the input on change, then things should work as expected:
(render
(window
(text @message)
(input @input
(λ (kind s)
(:= @input s) ;; change the input
(when (symbol=? kind 'return)
(:= @message (string-append "You typed: " s))
(:= @input ""))))))
That said, you shouldn't have to do this, so I'm going to leave this issue open while I think of a way to improve input
. One solution might be to special-case clearing the input, in which case your original code would work fine, but that wouldn't cover other cases.
from racket-gui-easy.
Related Issues (20)
- (progress #:range) contract HOT 1
- List view + dialog + slider appears not to update correctly HOT 3
- update-children in container%: hash-ref: no value found for key HOT 1
- tabs: 'new-button (send tab-panel on-new-request) not implemented HOT 3
- How does one program GUIs to handle heterogeneous data, especially with sub-views that contain internal state? HOT 1
- Containers which create internal panels are always stretchable HOT 2
- dyn-view with hidden observable dependencies HOT 11
- is there a way to close a dialog programmatically? HOT 4
- Is it possible to detect when the main window closes? HOT 2
- Render popup-menus relative to a child widget? HOT 1
- Documentation for case-view condition doesn't match implementation HOT 1
- Default keymap for (input) should be (keymap:get-editor) HOT 6
- `group` does not accept styles shown in docs HOT 1
- button contract should allow bitmap%, not just label-text% HOT 1
- Error in remove-dependencies while updating conditional view within a list-view HOT 3
- Feature-request: Slightly fancier menus HOT 1
- observable-view: change-children: cannot delete non-window area HOT 2
- Canvas: `ctx: undefined; cannot use field before initialization` HOT 9
- Docs say default hpanel alignment is `'(center top)`, but it isn't
- Clean way to implement a list of checkboxes? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from racket-gui-easy.