react子组件触发父组件事件
2020-07-18 04:24
405 查看
父组件:
// 标题点击事件 从子组件传递过来 handleTabsItemChange(index) { // 1 获取被点击的标题索引 const index = index; // 2 修改源数组 let {tabs} = this.state; tabs.map((v, i) => i === index ? v.isActive = true : v.isActive = false); // 3 赋值到data中 this.setState({ tabs }) } {/*监听自定义事件*/} <Tabs tabs={tabs} onTabsItemChange={this.handleTabsItemChange.bind(this)}>
父组件一定要绑定this,否则this.state为undefined
子组件:
class Tabs extends Component { // 点击事件 handleItemTap(e){ // 1 获取点击的索引 const {index}=e.currentTarget.dataset; // 2 触发 父组件中的事件 自定义\ // console.log(this.props) this.props.onTabsItemChange(index); } render() { let {tabs} = this.props return ( <View class='tabs'> <View class='tabs_title'> { tabs.map((item,index)=>( <View key={item.id} class={item.isActive?'title_item active':'title_item'} onTap={this.handleItemTap} data-index={index} > {item.value} </View> )) } </View> </View> ); } } export default Tabs;
子组件使用this,props触发父组件自定义事件
相关文章推荐
- Vue实现调节窗口大小时触发事件动态调节更新组件尺寸
- vue---vue2.x中父组件如何触发子组件事件方法?
- angular 父组件给子组件传值 使用 OnChanges() 在子组件内触发事件
- DevExpress的NavBarControl组件中NavBarGroup如何触发展开或者折叠事件(点击事件)?
- ext中处理Combobox组件点击触发后台事件的问题
- vue-bus非父子组件之间触发事件
- vue父组件触发事件改变子组件的值的方法实例详解
- vue页面父组件滚动触底,子组件触发事件
- 小程序scroll-view组件触发事件
- vue父组件点击触发子组件事件的实例讲解
- 添加SuperMap组件后,无法触发Shown事件
- 解决微信小程序组件scroll-view中bindscrolltolower事件触发不了的问题
- 【Vue】零基础学习Vue: 第24课 Vue子组件触发父主件方法并传递参数:子组件$emit发射事件
- 关于vue子组件触发父组件的事件失效问题
- 使用Vue开发网站之路2-多组件通信1(利用bus总线进行事件触发)
- 组件一些常用的触发事件
- vue 表单验证按钮事件交由父组件触发的方法
- 由页面脚本改变一个组件值所触发的事件
- Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
- javascript 获取当前触发事件组件