75 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Vue
		
	
	
| <script>
 | ||
| import Select, { Option } from '../index'
 | ||
| import '../assets/index.less'
 | ||
| 
 | ||
| export default {
 | ||
|   data () {
 | ||
|     return {
 | ||
|       useAnim: 0,
 | ||
|       value: ['a10'],
 | ||
|     }
 | ||
|   },
 | ||
|   methods: {
 | ||
|     onChange (value, options) {
 | ||
|       console.log('onChange', value, options)
 | ||
|       this.value = value
 | ||
|     },
 | ||
|     onSelect (...args) {
 | ||
|       console.log('select ', args)
 | ||
|     },
 | ||
|     onDeselect (...args) {
 | ||
|       console.log('deselect ', args)
 | ||
|     },
 | ||
|     useAnimation (e) {
 | ||
|       this.useAnim = e.target.checked
 | ||
|     },
 | ||
|   },
 | ||
| 
 | ||
|   render () {
 | ||
|     const children = []
 | ||
|     for (let i = 10; i < 36; i++) {
 | ||
|       children.push(
 | ||
|         <Option key={i.toString(36) + i} disabled={i === 10} title={`中文${i}`}>
 | ||
|       中文{i}
 | ||
|         </Option>
 | ||
|       )
 | ||
|     }
 | ||
|     const dropdownMenuStyle = {
 | ||
|       maxHeight: '200px',
 | ||
|     }
 | ||
|     return (<div>
 | ||
|       <h2>multiple select(scroll the menu)</h2>
 | ||
| 
 | ||
|       <p>
 | ||
|         <label>
 | ||
|             anim
 | ||
|           <input checked={this.useAnim} type='checkbox' onChange={this.useAnimation} />
 | ||
|         </label>
 | ||
|       </p>
 | ||
| 
 | ||
|       <div style={{ width: '300px' }}>
 | ||
|         <Select
 | ||
|           value={this.value}
 | ||
|           animation={this.useAnim ? 'slide-up' : null}
 | ||
|           choiceTransitionName='rc-select-selection__choice-zoom'
 | ||
|           dropdownMenuStyle={dropdownMenuStyle}
 | ||
|           style={{ width: '500px' }}
 | ||
|           multiple
 | ||
|           allowClear
 | ||
|           optionFilterProp='children'
 | ||
|           optionLabelProp='children'
 | ||
|           onSelect={this.onSelect}
 | ||
|           onDeselect={this.onDeselect}
 | ||
|           placeholder='please select'
 | ||
|           onChange={this.onChange}
 | ||
|           onFocus={() => console.log('focus')}
 | ||
|           tokenSeparators={[' ', ',']}
 | ||
|         >
 | ||
|           {children}
 | ||
|         </Select>
 | ||
|       </div>
 | ||
|     </div>)
 | ||
|   },
 | ||
| }
 | ||
| </script>
 |