reactjs - 从交互 js "interact('.dropzone').dropzone 访问道具
问题描述
我尝试访问 ondrop 函数中的道具(可能还有其他人),但我无法从那里访问道具。这是代码
'''interact('.dropzone').dropzone({ // 在 dropzone 重叠中接受的可拖动的最小百分比:1,
// listen for drop related events:
ondropactivate: function (event) {
// add active dropzone feedback
event.target.classList.add('drop-active')
},
ondragenter: function (event) {
var draggableElement = event.relatedTarget
var dropzoneElement = event.target
// feedback the possibility of a drop
dropzoneElement.classList.add('drop-target')
draggableElement.classList.add('can-drop')
},
ondragleave: function (event) {
event.target.classList.remove('drop-target')
event.relatedTarget.classList.remove('can-drop')
},
ondrop: function (event) {
//TODO: rerender widget dragables, save position into store
let availableOptions = JSON.parse(event.dragEvent.currentTarget.dataset.options).avalibaleOptions
for( let i=0 ; i < availableOptions ; i++ ) {
this.props.change(availableOptions);
}
console.log("position: ", event.dragEvent.rect)
console.log("welche Daten sind enthalten?", JSON.parse(event.dragEvent.currentTarget.dataset.options) )
//löschen und neu erstellen? in den state schreiben reicht? ...
},
ondropdeactivate: function (event) {
// remove active dropzone feedback
event.target.classList.remove('drop-active')
event.target.classList.remove('drop-target')
}
})''' this.props.change(availableOptions) 是一个reducer。它的意思是根据数据和div的坐标来改变store。
我还没有找到任何线索如何解决它。
解决方案
经过一番尝试,我只是导入了 store 并直接使用了 store.dispatch() ...
推荐阅读
- c# - 将取消令牌从 Angular 传递到 MVC 应用程序到多个 API
- java - ExposedDropDown Menu 清除片段导航后的所有选项
- android-studio - 我切换到另一个应用程序后系统取消了我的服务
- reactjs - 单击按钮时实时获取或保存 axios.get 对 setState 的响应
- nginx - 使用 nginx 进行 ssh 隧道和代理网页的最佳方法
- python - Rock,Paper,Scissors With Bot,为什么我的程序没有打印出任何答案,即使我使用 ''s 定义了机器人移动?
- r - 删除 ggplot2 中 geom_ribbon 的图例键周围的填充
- rust - 检测窗口大小何时改变
- oauth-2.0 - 使用哪个 OAuth 2.0 流程?
- r - 记录此人是否使用了所有问卷项目中的所有回答类别?