使用javascript,如何更改leaflet.draw"废纸篓"按钮以删除已绘制并自动保存的所有多边形.下面是我实现的代码,但它是一个完整的黑客.它删除了活动多边形,但是当我在控制台中出现错误时删除一个对象后,当我单击"垃圾桶"图标时NotFoundError: Node was not found,TypeError: this._deletedLayers is null
map.on('draw:editstart', function (e) {
if(e.handler == 'remove' && typeof drawnItem != 'undefined' && drawnItem !== null){
if(window.console) window.console.log('Drawing deleted...');
if(typeof drawnItem != 'undefined' && drawnItem !== null){
drawnItems.removeLayer(drawnItem);
}
$('.leaflet-draw.leaflet-control .leaflet-draw-actions').hide();
$('.leaflet-popup-pane .leaflet-draw-tooltip').remove();
}
});
Run Code Online (Sandbox Code Playgroud) 我的玩笑测试出错了,但我的应用程序可以转换(webpack)并且没有错误地运行。我最近确实切换到 babel-preset-env 但我仍然遇到同样的错误。
相关的 package.json:
"jest": "^20.0.4",
"jest-fetch-mock": "^1.0.8",
"babel-core": "^6.22.1",
"babel-jest": "^20.0.3",
"babel-preset-es2015": "^6.22.0",
"babel-preset-stage-0": "^6.22.0",
Run Code Online (Sandbox Code Playgroud)
.babelrc
{
"presets": ["es2015", "stage-0"],
"plugins": [
["inferno", {"imports": true}],
["transform-es2015-classes", {"loose": true}]
],
"env": {
"test": {
"presets": ["es2015", "stage-0"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
src/js/modules/ui/components/UIObject/index.jsx 到第 17 行
import TwitterComponent from './twitter';
import AdComponent, { networks } from './ad';
import RssComponent from './rss';
import WwwComponent from './www';
import connector from '../../connector';
const types = ['twitter', 'ads', 'rss', 'www'];
const getTitleByType = (type, data) …Run Code Online (Sandbox Code Playgroud)