antd select多选_Select 选择器

import { Input, Select, Button, Icon } from 'antd';

import jsonp from 'jsonp';

import querystring from 'querystring';

import classNames from 'classnames';

const Option = Select.Option;

let timeout;

let currentValue;

function fetch(value, callback) {

if (timeout) {

clearTimeout(timeout);

timeout = null;

}

currentValue = value;

function fake() {

const str = querystring.encode({

code: 'utf-8',

q: value,

});

jsonp(`http://suggest.taobao.com/sug?${str}`, (err, d) => {

if (currentValue === value) {

const result = d.result;

const data = [];

result.forEach((r) => {

data.push({

value: r[0],

text: r[0],

});

});

callback(data);

}

});

}

timeout = setTimeout(fake, 300);

}

const SearchInput = React.createClass({

getInitialState() {

return {

data: [],

value: '',

focus: false,

};

},

handleChange(value) {

this.setState({ value });

fetch(value, (data) => this.setState({ data }));

},

handleSubmit() {

console.log('输入框内容是: ', this.state.value);

},

handleFocusBlur(e) {

this.setState({

focus: e.target === document.activeElement,

});

},

render() {

const btnCls = classNames({

'ant-search-btn': true,

'ant-search-btn-noempty': !!this.state.value.trim(),

});

const searchCls = classNames({

'ant-search-input': true,

'ant-search-input-focus': this.state.focus,

});

return (

combobox

value={this.state.value}

searchPlaceholder={this.props.placeholder}

notFoundContent=""

defaultActiveFirstOption={false}

showArrow={false}

filterOption={false}

onChange={this.handleChange}

onFocus={this.handleFocusBlur}

onBlur={this.handleFocusBlur}>

{this.state.data.map(d => {d.text})}

);

},

});

ReactDOM.render(

, mountNode);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值