react实现极简搜索框效果
hover.css内容
* {
margin:;
padding:;
}
li.hover {
background: #ccc;
color: darkgreen;
}
js内容
import React,{Component} from 'react';
import ReactDom from 'react-dom';
import fetchJsonp from 'fetch-jsonp';
import './css/hover.css';
class Baidu extends Component{
constructor(){
super();
this.state={
ipt: '',
arr: []
}
this.iptChange = this.iptChange.bind(this);
this.fnOver = this.fnOver.bind(this);
this.fnOut = this.fnOut.bind(this);
}
iptChange(ev){
this.setState({
ipt: ev.target.value
})
let URL = 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=';
// 切记,是URL+ev.target.value而非this.state.ipt↓因为setState({})是一个异步过程。
//或者将请求放在this.setState的回调函数里。即:this.setState(,()=>{...在这里请求数据就可以直接使用this.state.ipt了...});
fetchJsonp(URL+ev.target.value,{jsonpCallback:'cb'}).then((streamObj)=>{
streamObj.json().then((data)=>{
// console.log(data)
this.setState({
arr: data.s
})
})
})
}
fnOver(ev){
ev.target.className='hover'
}
fnOut(ev){
ev.target.className=''
}
render(){
return (
<div>
<input type="text" value={this.state.ipt1} onChange={this.iptChange} />百度
<ul>
{
this.state.arr.map((val,index)=>{
return (
<li key={index} onMouseOver={this.fnOver} onMouseOut={this.fnOut}>{val}</li>
)
})
}
</ul>
</div>
)
}
} ReactDom.render(
<Baidu></Baidu>,
document.querySelector('#app')
)
react实现极简搜索框效果的更多相关文章
- CSS3实现的苹果网站搜索框效果
在线演示 本地下载 用CSS3相关属性生成的动态搜索框效果.
- Android搜索框效果
转载:http://blog.csdn.net/walker02/article/details/7917392 需求:项目中的有关搜索的地方,加上清空文字的功能,目的是为了增加用户体验,使用户删除文 ...
- react diff 极简版
为什么react这么快呢 ? 因为react用了虚拟DOM: 但是每次虚拟DOM转真实DOM不也是很浪费性能吗 ? nice,所以关键点在Diff算法这里,去对比新旧DOM树,而后通过补丁去更新到真实 ...
- 用jsonp实现搜索框功能
用jsonp实现搜索框功能 前面的话: 在上周本来想发一篇模仿必应搜索的界面.但是在准备写文章之前突然想到前面学习了ajax技术,在这里我也让我的页面有一种不需要手动刷新就能获取到数据.但是发现用前面 ...
- 向DataGrid数据表格增加查询搜索框
向DataGrid数据表格增加查询搜索框 效果如下: js代码: $(function(){ var dg = $('#dg').datagrid({ url:"${pageContext. ...
- HTML5播放器FlowPlayer的极简风格效果
在线演示 本地下载 使用Flowplayer生成的极简风格的播放器效果.
- easyui 设置一加载,搜索框立即弹出的效果
1.部分html文件 <div id="searchForm" region="north" title="标的查询" collaps ...
- Extjs combobox 实现搜索框的效果
目的:使用combobox实现一个类似搜索框的效果,即用户输入内容后,出现相关下列列表,提供选择. 实现:extjs3 中combobox自身带这个功能即在remote模式下,store在load的时 ...
- React实现最完整的百度搜索框
import React,{Component} from 'react' import ReactDOM,{render} from 'react-dom' import 'bootstrap/di ...
随机推荐
- windows c语言 网络
WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD(2, 2); err = WSAStart ...
- 函数,参数数组params与数组参数,结构函数
1.函数 static 返回值类型 函数名(形参1,形参2,...){ 函数体; return 返回值; } 无返回值,则static void 函数名(){ } stat ...
- centos 7 安装appache 服务器
一.安装Apache程序,一般有三种安装方式:1.直接网络安装:2.下载rpm包,上传至服务器进行安装:3.通过原代码编译安装: yum -y install httpd rpm -qa | grep ...
- Vue(基础七)_webpack使用工具(下)
一.前言 1.webpack.config文件配置 2.webpack打包css文件 ...
- Hadoop记录-Hadoop监控指标汇总
系统参数监控metrics load_one 每分钟的系统平均负载 load_fifteen 每15分钟的系统平均负载 load_five 每5 ...
- CentOS7用Mono和MonoDevelop写C#程序
MonoDevelop 是个Linux平台上的开放源代码集成开发环境,主要用来开发Mono与.NET Framework软件. MonoDevelop 整合了很多Eclipse与Microsoft V ...
- Git(工作区和暂存区概念)
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工 ...
- Problems found loading plugins: Plugin "GlassFish Integration" was not loaded: required plugin "Java EE: EJB, JPA, Servlets" is disabled.
idea启动报错:并且无法部署web项目 Problems found loading plugins: Plugin "GlassFish Integration" was no ...
- bzoj千题计划317:bzoj4650: [Noi2016]优秀的拆分(后缀数组+差分)
https://www.lydsy.com/JudgeOnline/problem.php?id=4650 如果能够预处理出 suf[i] 以i结尾的形式为AA的子串个数 pre[i] 以i开头的形式 ...
- java代码实现ftp服务器的文件上传和下载
java代码实现文件上传到ftp服务器: 1:ftp服务器安装: 2:ftp服务器的配置: 启动成功: 2:客户端:代码实现文件的上传与下载: 1:依赖jar包: 2:sftpTools 工具类: ...