class LocaleSwitcher extends React.Component{
constructor() {
super();
this.render = this.render.bind(this);
this.componentDidMount=this.componentDidMount.bind(this);
this.state = { languages:[] };
}
render(){
return (<li>{this.props.selectedLanguage}
<ul className="dropdown">
{
this.state.languages.map(function(result){
return (<ListItemWrapper key={result.id} title={result.text} url="language" />);
})
}
</ul>
</li>);
}
componentDidMount(){
var component = this;
$.get('data/languages',function(result){
component.setState({languages: result});
});
}
};
class ListItemWrapper extends React.Component{
constructor() {
super();
this.render = this.render.bind(this);
this.handleClick =this.handleClick .bind(this);
}
render () {
console.log("title:" + this.props.title);
return (<li onClick={this.handleClick}><a href="#">{this.props.title}</a></li>);
}
handleClick () {
$.get(this.props.url+"?code="+this.props.title,function(result){
/*Insert the code here */
});
}
};
我现在的问题是,我不知道如何从子组件到父组件进行通信,因为一旦用户选择了一种语言,我想用所选的语言更新下拉列表,所以我需要填充方法handleClick来向父组件发送所选的语言并更新它,但我不知道如何做到这一点。到目前为止,我已经试过了,但没有运气
handleClick () {
$.get(this.props.url+"?code="+this.props.title,function(result){
this.props.selectedLanguage=this.props.title;
});
}
};
任何帮助都将不胜感激。
您必须在LocaleSwitcher
组件中声明句柄点击,并将其传递给ListItemWrapper
组件,与您所传递的选定语言相同。
你也可以通过道具中的事件。
因此,您的LocaleSwitcher组件应该如下所示
handleClick () {
$.get(this.props.url+"?code="+this.props.title,function(result){
/*Insert the code here */
});
}
render(){
return (<li>{this.props.selectedLanguage}
<ul className="dropdown">
{
this.state.languages.map(function(result){
return (<ListItemWrapper key={result.id} title={result.text} url="language" handleClick={this.handleClick}/>);
})
}
</ul>
</li>);
}
render () {
console.log("title:" + this.props.title);
return (<li onClick={this.props.handleClick}><a href="#">{this.props.title}</a></li>);
}
本文向大家介绍vuejs父子组件通信的问题,包括了vuejs父子组件通信的问题的使用技巧和注意事项,需要的朋友参考一下 父子组件之间可以通过props进行通信: 组件的定义: 1.创建component类: 2.注册一个tagnme: 局部注册: 模板注意事项: 因为 Vue 就是原生的DOM,所以有些自定义标签可能不符合DOM标准,比如想在 table 中自定义一个 tr,如果直接插入 my
问题内容: 我真的是React的新手,我想解决我认为很简单的问题。这是我构建的组件的图片。 拾色组件 我试图完成的工作似乎很琐碎,但实际上,我读过的每一篇解释做什么的文章都告诉我一些不同的东西,而没有一种解决方案有效。它可以分解为:当用户单击标签时,它会构建一个托盘并循环遍历各种颜色以构建颜色按钮。单击颜色按钮时,它需要将单击的颜色传递给其父组件,并运行一个函数来更新其颜色。我已经阅读了有关通量,
本文向大家介绍Angular2 父子组件数据通信实例,包括了Angular2 父子组件数据通信实例的使用技巧和注意事项,需要的朋友参考一下 如今的前端开发,都朝组件式开发模式靠拢,如果使用目前最流行的前端框架Angular和React开发应用,不可避免地需要开发组件,也就意味着我们需要考虑组件间的数据传递等问题,不过Angular 2已经为我们提供了很好的解决方案。 父组件和子组件 接触过面向对象
本文向大家介绍vue2.0父子组件及非父子组件之间的通信方法,包括了vue2.0父子组件及非父子组件之间的通信方法的使用技巧和注意事项,需要的朋友参考一下 1.父组件传递数据给子组件 父组件数据如何传递给子组件呢?可以通过props属性来实现 父组件: 子组件通过props来接收数据: 方式1: 方式2 : 方式3: 这样呢,就实现了父组件向子组件传递数据. 2.子组件与父组件通信 那么,如果子组
将有更多的类(不同的产品)扩展。 当我使用序列化它时, 这是输出: 将引发此异常: java.lang.IllegalArgumentException:意外的标记(VALUE_STRING),应为field_name:缺少包含类型id(类com.shubham.model.product的)的属性“type”,位于[源:n/a;行:-1,列:-1] 我在这里做错了什么?我观察了一下,发现了一个问
本文向大家介绍vue子父组件通信的实现代码,包括了vue子父组件通信的实现代码的使用技巧和注意事项,需要的朋友参考一下 之前在用vue写子父组件通信的时候,老是遇到问题!!! 子组件传值给父组件: 子组件:通过emit方法给父组件传值,这里的upparent是父组件要定义的方法 模板: 在data中定义:switchStatus = true; 方法: 父组件:模板: