     data = [data] if typeof data is 'string'
     values = {}
     values[key] = label for key, label of @state.dataSource when key in data
+    @state.values = values
     @setState values: values
-    @refs.input.setValue values[Object.keys(values)?[0]] unless @state.multiple
+    @refs.input.setValue values[Object.keys(values)?[0]] unless @props.multiple
 
   setError: (data) ->
     @refs.input.setError data

    if @props.multiple
      values = @state.values
      values[key] = value[key]
    else
      values = value
    @setState focus: false, values: values
    @refs.input.setValue if @props.multiple then "" else value[key]
    @props.onChange? @

  _getSuggestions: (query) ->
    suggestions = {}

      else if suggestion
        @_addValue suggestion

  onBlur: (event) ->
    setTimeout (=> @setState focus: false, suggestions: {}), 300

  onSelect: (event) ->
    key = event.target.getAttribute "id"
    @_addValue {"#{key}": @state.suggestions[key]}
