//用到此方法的情景  先根据input框中的姓名模糊搜索出客户名称,当选中客户名称之后,获取ID ,根据客户的ID,去搜索数据列表。
防抖方法
let timeout;
let currentValue
function fetch(value, callback) {
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
currentValue = value;

//进行数据请求

function fake() {
const param={};
param.url = apiUrl.selectKgoMerchantList;
param.data={
merchantName:value
}
param.callback=(data)=>{
console.log(data)
//回调方法
callback(data.data)
}
getJsonp(param)
}
timeout = setTimeout(fake, 600);
}
 
//方法
handleChange = (value) => {
console.log(value)
this.setState({ value });
}
//当input框中的值变化是,调用此方法 进行数据请求,
handleSearch = (value) => {
//list是存放请求的数据
fetch(value, data => this.setState({ list:data }));
}
select=(e,option)=>{
//e是当前的option中的value  option可以打印看一下,里边有许多数据  ,我需要的是children
const param ={};
param.data={
ownerPartyId:e,
ownerRealName:option.props.children
}
console.log(param.data)
param.url = apiUrl.selectLongBillListByMerchant;
param.callback=(data)=>{
console.log(data)
if (data.result !== 'success') {
alertMsg(data.msg || '服务器异常');// 异常提示
this.setState({ loading: false });// 关闭请求状态
} else {
// 分页处理
const pagination = this.state.pagination;
pagination.total = data.count / 1;
this.setState({ loading: false, data: data.data || [], pagination,merchantName:''});
console.log(this.state)
}
}
console.log(param)
getJsonp(param)
}
 
 
 
//list是输入名字之后请求到的数据,遍历数据。形成select列表。
const options = this.state.list.map((d,index) => <Option key={index} value={d.partyId}>{d.merchantName}</Option>);
return (
<div>
<Form.Item label="关联客户:" colon={false} >
{getFieldDecorator('partyId', {
})(
//选择列表 里边的方法可以自己在antd中查看
<Select
style={{width:200}}
showSearch
value={this.state.value}
// placeholder={this.props.placeholder}
// style={this.props.style}
defaultActiveFirstOption={false}
showArrow={false}
filterOption={false}
onSearch={this.handleSearch} // 文本框值变化时回调
onChange={this.handleChange} //value 值变化是调用
notFoundContent={null}
onSelect = {this.select.bind(this)}//选中时进行数据请求
allowClear = {true}
>
{options}
</Select>
)}
</Form.Item>

antd模糊搜索和远程数据的结合的更多相关文章

  1. Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)解决

    环境:Windows 2008 R2 + Oracle 10.2.0.3 应用最新bundle patch后,扫描依然报出漏洞 Oracle Database Server 'TNS Listener ...

  2. jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据

    jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据 这个是jQuery 的底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等. $.ajax() ...

  3. HTML5 Web app开发工具Kendo UI Web中如何绑定网格到远程数据

    在前面的文章中对于Kendo UI中的Grid控件的一些基础的配置和使用做了一些介绍,本文来看看如何将Kendo UI 中的Grid网格控件绑定到远程数据. 众所周知Grid网格控件是用户界面的一个重 ...

  4. rsync+inotify实现远程数据备份

    一.rsync的基本介绍 1.  什么是rsync Rsync是一款开源的.快速的.多功能的.可以实现增量的本地货远程数据镜像同步备份的优秀工具,Rsync使用与unix,linux,windows等 ...

  5. EasyUI queryParams属性 在请求远程数据同时给action方法传参

    http://www.cnblogs.com/iack/p/3530500.html?utm_source=tuicool EasyUI queryParams属性 在请求远程数据同时给action方 ...

  6. PHP file_get_contents函数读取远程数据超时的解决方法

    PHP file_get_contents函数读取远程数据超时的解决方法 投稿:junjie 字体:[增加 减小] 类型:转载   这篇文章主要介绍了PHP file_get_contents函数读取 ...

  7. PhoneGap+jQuery Mobile+Rest 访问远程数据

    最近研究Mobile Web技术.发现了一个好东西-PhoneGap! 发现用PhoneGap+jQuery Mobile是一个很完美的组合! 本实例通俗易懂.适合广大开发人群:高富帅.白富美.矮穷戳 ...

  8. Linux中Curl命令couldn't connect to host解决方案 php操作Curl(http,https)无法获取远程数据解决方案

    本人在做百度账户第三方登录接口,获取百度token,利用php操作curl post方式发送请求token,出现couldn't connect to host错误.经过调试测试,最后终于成功.回头写 ...

  9. [置顶] Xamarin android 调用Web Api(ListView使用远程数据)

    xamarin android如何调用sqlserver 数据库呢(或者其他的),很多新手都会有这个疑问.xamarin android调用远程数据主要有两种方式: 在Android中保存数据或调用数 ...

随机推荐

  1. MYSQL主从复制、主主复制、双主多从配置

    一.如何配置MYSQL的主从复制? 1. 两台数据库服务器,IP分别为 192.168.216.128 和 192.168.216.129,在服务器上装MYSQL(我的配置版本为5.5.56) 2. ...

  2. 基于 Github 存储附件的 wordpress 插件

    前言 插件名称 wp-github-gos, 本插件核心功能使用了 GitHub API 设置页面和核心业务逻辑主要参考插件 wordpress-qcloud-cos 的实现,替换了其中 腾讯云 CO ...

  3. CCNA笔记(一)

    R1#enable R1#configure terminal R1(config)#interface fastEthernet 0/0R1(config-if)#ip address 12.1.1 ...

  4. Redis(五)--- Redis的持久化RDB与AOF

    一.Redis数据库 我们都知道Redis是基于内存的数据库,数据是以key-value键值对的方式存储的,那么key-value键值对是随意放在内存中的么,其实Redis的服务会创建很多的数据库空间 ...

  5. jquery实现最简单的下拉菜单

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. 深入学习OpenCV检测及分割图像的目标区域

    准备1:OpenCV常用图片转换技巧 在进行计算机视觉模型训练前,我们经常会用到图像增强的技巧来获取更多的样本,但是有些深度学习框架中的方法对图像的变换方式可能并不满足我们的需求,所以掌握OpenCV ...

  7. Python装饰器 (转)

    多个装饰器执行的顺序就是从最后一个装饰器开始,执行到第一个装饰器,再执行函数本身. #多个装饰器 import time def deco01(func): def wrapper(*args, ** ...

  8. 【Android Studio】查看源码时提示“throw new RuntimeException("Stub!")”

    如题-- 详细问题及解决方法: http://blog.csdn.net/u010917495/article/details/51234179

  9. hdoj 3555 BOMB(数位dp)

    //hdoj 3555 //2013-06-27-16.53 #include <stdio.h> #include <string.h> __int64 dp[21][3], ...

  10. 微服务SpringCloud之Spring Cloud Config配置中心Git

    微服务以单个接口为颗粒度,一个接口可能就是一个项目,如果每个项目都包含一个配置文件,一个系统可能有几十或上百个小项目组成,那配置文件也会有好多,对后续修改维护也是比较麻烦,就和前面的服务注册一样,服务 ...