47 lines
986 B
Vue
47 lines
986 B
Vue
<script>
|
|
import Select, { Option } from '../index'
|
|
import '../assets/index.less'
|
|
|
|
export default {
|
|
data () {
|
|
return {
|
|
disabled: false,
|
|
options: [],
|
|
}
|
|
},
|
|
methods: {
|
|
onChange (value) {
|
|
console.log('onChange', value)
|
|
let options = []
|
|
if (value) {
|
|
if (value.indexOf('@') >= 0) {
|
|
options = <Option key={value}>{value}</Option>
|
|
} else {
|
|
options = ['gmail.com', 'yahoo.com', 'outlook.com'].map((domain) => {
|
|
const email = `${value}@${domain}`
|
|
return <Option key={email}>{email}</Option>
|
|
})
|
|
}
|
|
}
|
|
this.options = options
|
|
},
|
|
onSelect (v) {
|
|
console.log('onSelect', v)
|
|
},
|
|
},
|
|
|
|
render () {
|
|
return (<Select
|
|
combobox
|
|
notFoundContent={false}
|
|
style='width: 200px'
|
|
onChange={this.onChange}
|
|
onSelect={this.onSelect}
|
|
placeholder='请输入账户名'
|
|
>
|
|
{this.options}
|
|
</Select>)
|
|
},
|
|
}
|
|
</script>
|