<script> import Select, { Option } from '../index'; import '../assets/index.less'; export default { data() { return { destroy: false, value: 9, }; }, methods: { onChange(e) { let value; if (e && e.target) { value = e.target.value; } else { value = e; } console.log('onChange', value, ...arguments); this.value = value; }, onDestroy() { this.destroy = 1; }, onBlur(v) { console.log('onBlur', v); }, onFocus() { console.log('onFocus'); }, }, render() { if (this.destroy) { return null; } return ( <div style={{ margin: '20px' }}> <div style={{ height: '150px' }} /> <h2>Single Select</h2> <div style={{ width: '300px' }}> <Select id="my-select" value={this.value} placeholder="placeholder" dropdownMenuStyle={{ maxHeight: '200px' }} style={{ width: '500px' }} onBlur={this.onBlur} onFocus={this.onFocus} allowClear optionLabelProp="children" optionFilterProp="text" onChange={this.onChange} firstActiveValue="2" backfill > <Option value="01" text="jack" title="jack"> <b style={{ color: 'red', }} > jack </b> </Option> <Option value="11" text="lucy"> lucy </Option> <Option value="21" disabled text="disabled"> disabled </Option> <Option value="31" text="yiminghe"> yiminghe </Option> {[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map(i => { return ( <Option key={i} value={i} text={String(i)}> {i}-text </Option> ); })} </Select> </div> <h2>native select</h2> <select value={this.value} style={{ width: '500px' }} onChange={this.onChange}> <option value="01">jack</option> <option value="11">lucy</option> <option value="21" disabled> disabled </option> <option value="31">yiminghe</option> {[1, 2, 3, 4, 5, 6, 7, 8, 9].map(i => { return ( <option value={i} key={i}> {i} </option> ); })} </select> <p> <button onClick={this.onDestroy}>destroy</button> </p> </div> ); }, }; </script>