JSFiddle - React, Tailwind, and code Playground
HTML
<main></main>
<script id='template' type='text/ractive'>
<h2>filtered</h2>
{{#each filtered(items)}}
<li><input value='{{this.name}}'/></li>
{{/each}}
<h2>filteredItems</h2>
{{#each filteredItems}}
<li><input value='{{this.name}}'/></li>
{{/each}}
<h2>unfiltered</h2>
{{#each items}}
<li><input value='{{this.name}}'/></li>
{{/each}}
<h2>unfiltered</h2>
{{#each items}}
<li>{{this.name}}</li>
{{/each}}
</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: {
items: [
{ name: 'alice' },
{ name: 'bob' },
{ name: 'charles' },
{ name: 'xavier' },
{ name: 'yvonne' },
{ name: 'zebedee' }
],
filtered: function ( items ) {
return items.filter( function ( item ) {
return item.name.toLowerCase().charCodeAt( 0 ) <= 109;
});
},
filteredItems: function() {
var items = this.get('items');
return items.filter( function ( item ) {
return item.name.toLowerCase().charCodeAt( 0 ) <= 109;
});
}
}
});