我在IconMenu组件内部有一个Paper组件。我想防止click事件在内部组件(IconMenu)上传播。这就是我想出的结果,但是没有明显的效果(我也尝试用onClick替换onClick onTouchTap,onMouseUp具有相同的效果):_iconMenuClick永远不会调用该方法。
render() {
return (
<Paper onClick={this._onClick}>
<IconMenu iconButtonElement={iconButtonElement} onClick={this._iconMenuClick}>
{menuItems}
</IconMenu>
</Paper>
);
}
_iconMenuClick(event) {
MenuItem.onClick(event);
event.stopPropagation();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的React + Flux项目中包含一个JointJS图.我从那里现有的演示开始.
我的想法是将图表嵌入一个更高级别的组件中,该组件将在我的项目中重用.
我想出的结构如下:
index.html
...
<body>
<section id="mySec"></section>
...
Run Code Online (Sandbox Code Playgroud)
app.js
...
ReactDOM.render(
<JointJSDiagram id="1"/>,
document.getElementById('mySec')
);
Run Code Online (Sandbox Code Playgroud)
JointJSDiagram.react.js
...
var JointJSDiagramStore = require('../stores/JointJSDiagramStore');
class JointJSDiagram extends React.Component {
...
componentDidMount() {
var el = this.refs[this.props.placeHolder];
document.addEventListener("DOMContentLoaded", function(elt){
return function(){JointJSDiagramStore.buildDiagram(elt)};
}(el), false);
}
...
render() {
return (<div ref={this.props.placeHolder}/>);
}
...
}
module.exports = JointJSDiagram;
Run Code Online (Sandbox Code Playgroud)
JointJSDiagramStore.js
...
var AppDispatcher = require('../dispatcher/AppDispatcher');
var EventEmitter = require('events').EventEmitter;
var assign = require('object-assign');
var _graph = new joint.dia.Graph();
var _paper = new …Run Code Online (Sandbox Code Playgroud) 我试着在我的项目中重现这里报告的例子.问题是我使用的是似乎不支持ES6导入的Browseryfy.所以我想到翻译示例的第三个导入:
import {Treebeard} from 'react-treebeard';
Run Code Online (Sandbox Code Playgroud)
至
var Treebeard = require('react-treebeard').default;
Run Code Online (Sandbox Code Playgroud)
但它仍然不起作用,我得到以下错误:
未捕获错误:不变违规:元素类型无效:期望一个字符串(对于内置组件)或类/函数(对于复合组件)但得到:undefined
我读过尝试切换到babelify,但我会认为这个选项是最后一个.谢谢!
我希望我的代码在选中/取消选中复选框的事件时动态执行某些操作.我有这个代码:
checkConfidentiality.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(isChecked==true)
new AlertDialog.Builder(this).setTitle("Argh").setMessage("YEEEEEEEE").setNeutralButton("Close", null).show();
else
new AlertDialog.Builder(this).setTitle("Argh").setMessage("NOOOOOOOO").setNeutralButton("Close", null).show();
}
});
Run Code Online (Sandbox Code Playgroud)
在这种特殊情况下,我在AllertDialog声明中出现错误,当然因为在回调函数中"this"变量没有任何意义.问题是,如何将变量(父作用域的"this"或任何其他变量)传递给回调函数?谢谢!
reactjs ×3
android ×1
browserify ×1
checkbox ×1
flux ×1
java ×1
javascript ×1
jointjs ×1
material-ui ×1
node.js ×1
reference ×1
sdk ×1