Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE HTML>
<body>
<script src="https://fb.me/react-with-addons-0.14.7.min.js"></script>
<script src="https://fb.me/react-dom-0.14.7.min.js"></script>
<script src="https://npmcdn.com/mobx@2.3.1/lib/mobx.umd.js"></script>
<script src="https://npmcdn.com/mobx-react@3.3.1/index.js"></script>
</body>
 
const {observable, action, computed} = mobx;
const {observer} = mobxReact;
@observer
class Country extends React.Component {
  
    @observable filterTermValue = '';
    @observable countriesList = [
      {'slug': 'amsterdam', 'name': 'Amsterdam'},
      {'slug': 'usa', 'name': 'United States'},
      {'slug': 'vienna', 'name': 'Vienna'}
    ];
    @computed get filtered() {
      let filteredList = this.countriesList.filter(
        t=>t.name.toLowerCase().indexOf(this.filterTermValue)>-1
      );
      
      return filteredList;
    }
    render() {
        return (
          <div>
              Term: <input placeholder="Start typing country"
                 onKeyUp={this.onChangeFilterTerm} />
              {this.filtered.map(country =>
                  <div key={country.slug}>
                    <p>{country.name}</p>
                  </div>
              )}
          </div>
        )
    }
    @action onChangeFilterTerm = (e) => {
        this.filterTermValue = e.target.value.toLowerCase();
    }
}
ReactDOM.render(
  <Country />,
  document.body
);
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
AshCoolmanpro
0viewers