<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>07_component_refs</title>
</head>
<body>
<br>
<div id="example"></div>
<script type="text/javascript" src="../js/react.development.js"></script>
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<script type="text/javascript" src="../js/babel.min.js"></script>
<script type="text/babel">
/*
需求: 自定义组件, 功能说明如下:
1. 界面如果页面所示
2. 点击按钮, 提示第一个输入框中的值
3. 当第2个输入框失去焦点时, 提示这个输入框中的值
*/
class Mycomponent extends React.Component{
constructor(props){
super(props)
this.show=this.show.bind(this)
this.tshow=this.tshow.bind(this)
}
show(){
const input=this.refs.content
//alert(input.value) 第一种方法 官方不推荐
alert(this.input.value)
}
tshow(event){
console.log(event.target) //节点
alert(event.target.value)
}
render(){
return (
<div>
<input type="text" ref="content"/>
<input type="text" ref={input=>this.input=input}/>
<button onClick={this.show}>提示</button>
<input type="text" onBlur={this.tshow}/>
</div>
)
}
}
ReactDOM.render(<Mycomponent/>,document.getElementById('example'))
</script>
</body>
</html>