window postMessage
2019-08-14 本文已影响0人
王善良_
有个需求是,打开新窗口,新窗口点击按钮后,原窗口的列表要刷新,
这个的话,只要能解决页面的通信问题,原窗口只要重新调用一下获取列表的search方法就行了
重点是在 新窗口,
输入
window.opener.postMessage(
'你要传递的信息字符串',
window.opener.location.href, //这个是地址,也是字符串
);
然后原窗口要在 componentDidMount 里面写监听器
window.addEventListener('message', e => {
if (e.data === '你传递过来的信息字符串') {
this.handleSearch({});
}
});
如果postMessage的第二个参数不传,可能会导致报错
image.png image.png