On Friday, April 3, 2015 at 5:25:24 PM UTC-4, Colin Yates wrote:
> Hi,
> 
> If I use :default-value then the input field keeps up no matter how fast I 
> type. If I use :value then I can lose quite a few key presses if I type 
> really quickly.
> 
> I expect I probably need to break my components into smaller discrete 
> components, which only depend on the absolute minimum, but I wondered first 
> whether anyone else has experienced this and has a workaround?
> 
> At the moment my components are quite large, for example I have one component 
> which has 10 fields on it - splitting that into 10 separate components with 
> more focused subscriptions will help I assume?
> 
> This is on a late 2008 macbook pro so isn't the quickest, but still...
> 
> Thanks!

IMO, it should be avoided to have a controlled input. As you already mentioned 
the problems. But even if I need to keep it --e.g.-- to numbers: A much more 
user friendly UI is to present the user with an error message (next to the 
input) stating exactly what's wrong with his/her input.
The other typical example like "all capital" can easily be applied afterwards 
when sending the content to the server. 

I haven't tried this but it probably works: You can also just listen to 
"onkeypress" and just prevent the default (ie the browser populates .-value) 
and populate it yourself (filtered). This means that instead of losing input 
you'll just have a lagging UI. Better, but not optimal. This brakes down for 
copy and paste (and possibly other input?), so you'll still need to listen to 
on-change.

Sometimes, I even lose keypresses with my fast PC since my computer is busy 
with other stuff. So the controlled input which relies on timing is a big no-no 
IMO.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to