调用后将模态框关掉 closeModal const modal = documentgetElementsByClassNameng-star-inserted; consoleinfomodal modal; thisopenModalthisngtemplate let modalArr = thisdialogServicedocumentgetEleme
根据代码中的描述,modalArr1是通过this.dialogService.document.getElementsByClassName("devui-btn devui-btn-common devui-btn-md devui-btn-default")获取到的元素数组。而getElementsByClassName方法返回的是一个HTMLCollection对象,该对象是一个只读的类数组对象,不是一个真正的数组,所以它没有click方法。
要解决这个问题,可以将HTMLCollection对象转换为数组,然后再调用click方法。可以使用Array.from()方法或者扩展运算符[...modalArr1]来实现数组的转换。
修改后的代码如下:
closeModal() {
let modalArr1 = Array.from(this.dialogService.document.getElementsByClassName("devui-btn devui-btn-common devui-btn-md devui-btn-default"));
console.info('modal111111111', modalArr1);
modalArr1[0].click();
}
或者
closeModal() {
let modalArr1 = [...this.dialogService.document.getElementsByClassName("devui-btn devui-btn-common devui-btn-md devui-btn-default")];
console.info('modal111111111', modalArr1);
modalArr1[0].click();
}
这样就可以正确地调用click方法关闭模态框
原文地址: http://www.cveoy.top/t/topic/iFjv 著作权归作者所有。请勿转载和采集!