09_组件三大属性(3)_refs和事件处理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<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/prop-types.js"></script>
<script type="text/javascript" src="../js/babel.min.js"></script>
<script type="text/babel">
    /*
    * 需求:自定义组件,功能说明如下:
    * 1.界面如页面所示
    * 2.点击按钮,提示第一个输入框中的值
    * 3.当第2个输入框市区焦点时,提示这个输入框中的值
    * */

    //1.定义组件
    class MyComponent extends React.Component {
        constructor(props) {
            super(props)
            this.showInput = this.showInput.bind(this);
            this.handleBlur = this.handleBlur.bind(this);
        }

        showInput() {
            alert(this.input.value)
        }
        handleBlur(event){
            alert(event.target.value)
        }

        render() {
            return (
                <div>
                    <input type="text" ref={input => this.input = input}/>&nbsp;&nbsp;
                    <button onClick={this.showInput}>提示输入</button>&nbsp;&nbsp;
                    <input type="text" placeholder="失去焦点提示内容" onBlur={this.handleBlur}/>
                </div>
            )
        }
    }

    //2.渲染组件标签
    ReactDOM.render(<MyComponent/>, document.getElementById(‘example‘))
</script>
</body>
</html>

原文地址:https://www.cnblogs.com/zhanzhuang/p/10704650.html

时间: 2024-11-01 11:07:45

09_组件三大属性(3)_refs和事件处理的相关文章

08_组件三大属性(2)_props

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><div id="example1"></div><hr><div id="example2">&

07_组件三大属性(1)_state

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>03_componment_basic</title> </head> <body> <div id="example1"></div> <div id="example2&

vue-learning:27 - component - 组件三大API之二:event

组件三大API之二: event 在上一节中讲到prop单向下行数据绑定的特征,父组件向子组件传值通过prop实现,那如果有子组件需要向父组件传值或其它通信请求,可以通过vue的事件监听系统(触发事件,执行监听回调函数,并且可以在回调函数中接受传参). Vue内置了一套完整的事件触发器逻辑: v-on / @: 原来HTML元素中监听原生事件,或子组件自定义事件 .native: 触发组件根元素的原生事件 $on:监听组件自身触发的事件 $emit: 触发事件 $off: 卸载组件自身的事件监听

vue-learning:29 - component - 组件三大API之三:slot

组件三大API之三: slot <slot>标签 v-slot指令 普通插槽 有默认值的插槽 具名插槽 作用域插槽 v-slot是Vue 2.6.0引入的一个新语法指令,目的是统一之前slot / slot-scope的用法.统一的指令语法更简洁也更易理解. 之前讲解的prop实现了组件向下的数据传递,而event中v-on / $emit可以实现组件向上的数据传递.这一节v-slot指令实现组件内容的自定义功能. 一个简单的例子,自定义一个按钮组件: <div id="app

vue-learning:26 - component - 组件三大API之一:prop

组件三大API之一: prop prop的大小写 prop接收类型 字符串数组形式 对象形式: type / required / default / validator prop传递类型: 静态传递 / 动态绑定 单向数据流 非prop:替换或合并 / 禁用inheritAttrs:false / $attrs 上节对组件的概念讲到,组件是可复用的Vue实例,并且组件可以嵌套,组件间可以相互通信. 两个嵌套的组件通信,父组件向子组件传值,常规的做法就是采用prop 先看个一个例子直观感受下:

Angular2组件开发—属性与事件(一)

属性声明 - 暴露成员变量 属性是组件暴露给外部世界的调用接口,调用者通过设置不同的属性值来定制 组件的行为与外观: 在Angular2中为组件增加属性接口非常简单,只需要在Component注解的properties属性中声明组件的成员变量就可以了: 1 //EzCard 2 @Component({ 3 properties:["name","country"] 4 }) 上面的代码将组件的成员变量name和country暴露为同名属性,这意味着在EzApp的模

ExtJs--05--给window组件添加功能条以及子组件获取上级或下级组件的属性和方法

Ext.onReady(function(){ /** 1-- 给容器组件添加控制条 及 控制项 控制条 不同的方向有多种 tbar lbar rbar bbar fbar 2-- 根据组件本身拿到上级组件的属性及方法调用 */ var win = new Ext.window.Window({ id:"id001",//自定义编号 title:"自定义标题信息",//标题 width:400,//宽度 可以使用百分比 自适应浏览器大小 height:400,//高

Swing中使用UIManager批量自定义单一JComponent组件默认属性

最近在研究Swing,被它的复杂性气的快吐血了,刚才本打算把JFrame的背景色换成白底,结果发现事情没想象中那么顺利,调用setBackground完全没有效果,猛然醒悟到JPanel本身是带不透明底色的,事情一下子变得复杂起来了,因为即便最简单的窗口布局,也是嵌套了若干层JPanel.JSplitPane等容器的,一层遮盖一层,而要想统一改成白底的话,那得一个个改代码,或者用复杂的遍历算法... 百度上寻觅了一下,发现一个老去已久的帖子有提及到使用UIManager来批量更改默认值的,例如:

ExtJs--05--给window组件加入功能条以及子组件获取上级或下级组件的属性和方法

Ext.onReady(function(){ /** 1-- 给容器组件加入控制条 及 控制项 控制条 不同的方向有多种 tbar lbar rbar bbar fbar 2-- 依据组件本身拿到上级组件的属性及方法调用 */ var win = new Ext.window.Window({ id:"id001",//自己定义编号 title:"自己定义标题信息",//标题 width:400,//宽度 能够使用百分比 自适应浏览器大小 height:400,/