Javascript 如何将按钮附加到单张绘图的弹出窗口中?
我希望弹出窗口内的按钮在弹出窗口附加层上执行一些操作。Javascript 如何将按钮附加到单张绘图的弹出窗口中?,javascript,reactjs,leaflet,leaflet-draw,Javascript,Reactjs,Leaflet,Leaflet Draw,我希望弹出窗口内的按钮在弹出窗口附加层上执行一些操作。 L.marker(coors[i], { icon }) .addTo(this.drawnItem) .bindPopup(this._getCustomIcon(mix)) .openPopup(); 在my\u getCustomIcon()下面 \u getCustomIcon=value=>{ 让delLayer=document.createElement(“按钮”
L.marker(coors[i], { icon })
.addTo(this.drawnItem)
.bindPopup(this._getCustomIcon(mix))
.openPopup();
在my\u getCustomIcon()下面
\u getCustomIcon=value=>{
让delLayer=document.createElement(“按钮”);
delLayer.innerHTML=“删除”;
让CustomPopup=L.popup({className:“CustomPopup”}).setContent(
` ${value}${delLayer}`//这是一个错误
);
返回自定义弹出窗口;
};
如果要将字符串与对象混合,请尝试删除${value}此处delLayer
是一个对象,但不是普通字符串。在字符串模板文字中连接时,应使用.outerHTML
将元素对象转换为字符串
_getCustomIcon = value => {
let delLayer = document.createElement("BUTTON");
delLayer.innerHTML = "Delete";
let CustomPopup = `<p> ${value}</p> ${delLayer.outerHTML}`;
return CustomPopup;
};
\u getCustomIcon=value=>{
让delLayer=document.createElement(“按钮”);
delLayer.innerHTML=“删除”;
让CustomPopup=`${value}${delLayer.outerHTML}`;
返回自定义弹出窗口;
};
或者,您可以尝试使用concatenate作为普通字符串,如
let delLayer = '<button>Delete</button>'
let CustomPopup = `<p> ${value}</p> ${delLayer}`;
let delLayer='Delete'
让CustomPopup=`${value}${delLayer}`;
只需使用此代码即可
_getCustomIcon = value => {
let delLayer = document.createElement("BUTTON");
delLayer.innerHTML = "Delete";
return delLayer;
};
您的错误是在使用已创建弹出窗口的bindpoppup
后创建弹出窗口 如果您使用的是reactjs
,那么我建议您使用react传单
()。这将使一切变得容易。要修改标记,很容易,因为这个{city\u name}中心测试按钮
您正在将字符串与对象混合,请尝试${value}删除
_getCustomIcon = value => {
let delLayer = document.createElement("BUTTON");
delLayer.innerHTML = "Delete";
return delLayer;
};