_triggerComponentUpdate(value) {
    if (has(this.props, 'valueLink')) {
      this.props.valueLink.requestChange(value);
      this.setState({
        focusedValue: undefined,
        isActive: false,
      });
    } else if (has(this.props, 'value')) {
      this.setState({
        focusedValue: undefined,
        isActive: false,
      });
    } else {
      this.setState({
        focusedValue: undefined,
        isActive: false,
        value,
      });
    }

    if (this.props.onUpdate) {
      this.props.onUpdate({ value });
    }
  }
update component when component is clicked, touch ends, enter or space key are hit
different update logic will apply depending on whether component has property defaultValue, value or valueLink specified