JSFiddle - React, Tailwind, and code Playground
by rich_harris
HTML
<p>Rather than use two-way binding, this example listens for events that could change the input value - e.g. <code>keydown</code>, <code>input</code>, <code>change</code> - and sets the value manually.</p>
<hr/>
<main></main>
<script id='template' type='text/ractive'>
<input type="password" on-keydown-input-change='set("password",event.node.value)'/>
<button type="button" on-click="connect" disabled="{{!validPassword}}">connect</button>
<p>password: {{password}}</p>
<p>disabled: {{!validPassword}}</p>
</script>
CSS
body {
font-family: 'Helvetica Neue', arial, sans-serif;
font-weight: 200;
color: #353535;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 200;
}
.error {
color: #d00;
font-family: monospace;
}
JavaScript
var ractive = new Ractive({
el: 'main',
template: '#template',
data: {
name: 'world', version: Ractive.VERSION
},
computed : {
validPassword : function() {
return this.get("password").trim().length > 0;
}
}
});