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;
  };