Element table表尾合计行嵌入input


:summary-method="getSummaries" show-summary style="width: 100%;">
                        
                        
                        
                        
                            
                        
                        
                            
                        
                        
                            
                        
                        
                            
                        
                        
                            
                        
                    


//将show-summary设置为true就会在表格尾部展示合计行
//使用summary-method并传入一个方法,写入合计逻辑
getSummaries(param) {
                const {
                    columns,
                    data
                } = param;
                const sums = [];
                columns.forEach((column, index) => {
                    if (index === 0) {
                        sums[index] = "";
                        return;
                    }
                    if (index === 1) {
                        sums[index] = "总价";
                        return;
                    }
                    const values = data.map(item => Number(item[column.property]));
                    if (!values.every(value => isNaN(value))) {
                        sums[index] = values.reduce((prev, curr) => {
                            const value = Number(curr);
                            if (!isNaN(value)) {
                                return prev + curr;
                            } else {
                                return prev;
                            }
                        }, 0);
                    } else {
//合计行最后一个单元格嵌入input
                        this.$nextTick(() => {
                            let a = document.querySelector('.el-table__footer').querySelectorAll('td')[6].querySelector('.cell');
                            let html = '';
                            a.innerHTML = html;
                            if (this.form.remark != "" && this.form.remark != null) {
                                document.getElementById('allowance_remark').value = this.form.remark;
                            }
                        });
                    }
                });
                this.form.paymentAmount = sums[2];
                this.form.paymentTime = sums[3];
                this.form.minimumStandard = sums[4];
                this.form.highestStandard = sums[5];
                return sums;
            },

//使用时重新赋值this.form.remark = document.getElementById('allowance_remark').value;