1.0.4 • Published 9 years ago

react-simplest-dropdown v1.0.4

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

react-simplest-dropdown

This is simple dropdown component for react. It's responsible only for view representation.

Your responsibility is to set positioning, callbacks, handle open/close events. You can determine position by passing styles in containerStyle property - the most important to pass top and left style attributes.

How it looks like

npm.io

Installation

npm install --save react-simplest-dropdown

Example

this is an example of usage (redux container)

import { connect } from 'react-redux'
import Dropdown from 'react-simplest-dropdown'
import { createAction } from 'redux-actions'
import { SET_ATTRIBUTE_VALUE } from '~/app/reducers/Design'

const dropdownAlignment = (el) => {
  let top = 0, left = 0, width = 0
  if (el.getBoundingClientRect) {
    const rect = el.getBoundingClientRect()
    const offset = document.getElementById('design') ? document.getElementById('design').parentNode.scrollTop : 0
    top = offset + rect.top - 45 + (document.body.scrollTop || 0)
    left = rect.left
    width = rect.width
  }
  return {top, left, width}
}

const mapStateToProps = (state) => {
  const d = state.autocomplete.attr_dropdown

  return {
    open: d.open,
    containerStyle: dropdownAlignment(d.el),
    values: d.values,
    meta: {attribute_id: d.attribute.id}
  }
}

const mapDispatchToProps = (dispatch) => {
  return {
    selectValue: (e, meta) => {
      dispatch(createAction(SET_ATTRIBUTE_VALUE)({attribute_id: meta.attribute_id, value: e.currentTarget.textContent}))
    }
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(Dropdown)

Properties

propertytypedefaultdescription
openboolmakes dropdown visible or hidden
valuesarraythese values are dropdown items
containerStyleobjectinline styles for container element
itemStyleobjectinline styles for item elements
selectValuefunctiononclick item callback: onClick={(event) => selectValue(event, meta)}
metaobjectany object that passed to selectValue callback

The best documentation

https://github.com/beornborn/react-simplest-dropdown/blob/master/src/index.js

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago