<script>
import Select, { Option } from '../index';
import { fetch } from './tbFetchSuggest';
import '../assets/index.less';

export default {
  data () {
    return {
      disabled: false,
      data: [],
      value: undefined,
    };
  },
  methods: {
    onChange (value) {
      console.log('select ', value);
      // value.label = value.key
      this.value = value;
    },
    fetchData (value) {
      if (value) {
        fetch(value, (data) => {
          this.data = data;
        });
      } else {
        this.data = [];
      }
    },

    toggleDisabled () {
      this.disabled = !this.disabled;
    },
  },

  render () {
    const data = this.data;
    const options = data.map((d) => {
      return <Option key={d.value}><i>{d.text}</i></Option>;
    });
    return (<div>
      <h2>force suggest</h2>
      <p>
        <button onClick={this.toggleDisabled}>toggle disabled</button>
      </p>
      <div>
        <Select
          labelInValue
          onSearch={this.fetchData}
          disabled={this.disabled}
          value={this.value}
          optionLabelProp='children'
          placeholder='placeholder'
          defaultActiveFirstOption
          style={{ width: '500px' }}
          onChange={this.onChange}
          filterOption={false}
        >
          {options}
        </Select>
      </div>
    </div>);
  },
};
</script>