我想基于数据库中的列公式计算单元格值 数据库值中
value of column: Buttons-10 Fabric-{Buttons}+{Zippers}+{Buttons}+10*19
Zippers-{Buttons}*20
headerName: 'Fabric_Dynamic', width: 30, editable: true, field: 'Fabric',
filterParams: { clearButton: true },
cellRenderer: function (params) {
var str = params.data.Fabric;
return eval(_this.getValue(str, params.data));
},
cellEditorParams: function (params) {
return {
};
},
我使用了正则表达式和递归来计算每一列的值 我在AG网格的单元渲染中使用此代码 像这样
getValue(str: string, data) {
var arr = Object.keys(data);
if (str.match('\{(.*?)\}')) {
let xstr = str;
arr.forEach(item => {
const regex = new RegExp(`{${item}}`, 'gi');
xstr = xstr.replace(regex, data[item]);
})
return this.getValue(xstr, data);
} else {
return str;
}
}
但是我不想使用递归,请帮我解决这个问题