From 059052ad4857783400c1222932c37693582419bf Mon Sep 17 00:00:00 2001 From: Jake Dexheimer Date: Sat, 17 Jun 2017 14:59:47 -0700 Subject: [PATCH] Add WIP dropdown component --- components/dropdown.js | 113 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 components/dropdown.js diff --git a/components/dropdown.js b/components/dropdown.js new file mode 100644 index 0000000..1b70bad --- /dev/null +++ b/components/dropdown.js @@ -0,0 +1,113 @@ +import React from 'react' +import ArrowDown from './arrowdown' + +export default class extends React.Component { + constructor(props) { + super() + this.state = { + listVisible: false, + selected: props.selected || props.list[0] + } + this.select = this.select.bind(this) + this.toggle = this.toggle.bind(this) + } + + select(item) { + this.setState({ selected: item }) + } + + toggle() { + this.setState({ listVisible: !this.state.listVisible }) + } + + renderListItems() { + return this.props.list.map((item, i) => ( +
+ { item.name } + +
+ )) + } + + render() { + return ( +
+
+ { this.state.selected.name } +
+
+
+ { this.renderListItems() } +
+ +
+ ) + } +}