博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react实现极简搜索框效果
阅读量:5081 次
发布时间:2019-06-12

本文共 1715 字,大约阅读时间需要 5 分钟。

hover.css内容

*  {
margin: 0; padding: 0;}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 (            
百度
    { this.state.arr.map((val,index)=>{ return (
  • {val}
  • ) }) }
) }}ReactDom.render(
, document.querySelector('#app'))

转载于:https://www.cnblogs.com/LLLLily/p/7447096.html

你可能感兴趣的文章
XML解析技术研究(一)
查看>>
Qt 学习之路 :使用 QJson 处理 JSON
查看>>
NPOI操作Excel导入导出
查看>>
angularJS 移动端焦点图
查看>>
jvm 这我就能会了 擦
查看>>
实战技能:小小微信支付业务,何必虚惊一场
查看>>
17-1 djanjo进阶-路由,视图,模板
查看>>
Shell脚本8种字符串截取方法总结
查看>>
P3254 圆桌问题
查看>>
MapReduce的运行原理
查看>>
Leetcode: Partition List
查看>>
故障转移
查看>>
清空dataset中的某行某列的数据
查看>>
盒模型
查看>>
js中闭包和作用域
查看>>
关键词提取
查看>>
装饰器,迭代器与生成器
查看>>
endpoint 理解-1
查看>>
Lambad表达式树(转)
查看>>
<每日一题>题目28:简单的python练习题(51-60)
查看>>