我有一个角度项目,我正在尝试使用Fitting 3 regressors...
Fitting regressor1: randomforestregressor (1/3)
Fitting regressor2: lgbmregressor (2/3)
Fitting regressor3: pipeline (3/3)
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2963, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "C:\ProgramData\Anaconda3\lib\site-packages\mlxtend\regressor\stacking_regression.py", line 154, in fit
meta_features = self.predict_meta_features(X)
File "C:\ProgramData\Anaconda3\lib\site-packages\mlxtend\regressor\stacking_regression.py", line 221, in predict_meta_features
return np.column_stack([r.predict(X) for r in self.regr_])
File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\lib\shape_base.py", line 369, in column_stack
return _nx.concatenate(arrays, 1)
ValueError: all the input array dimensions except for the concatenation axis must match exactly
更新数据。我有表格并安装了依赖项。每当我单击“编辑”按钮时,模式就会打开编辑表单,并填充数据。到目前为止,这就是我想要的。但是,每当我从模式更改值时,表也会更改,它会实时反映表中的数据。我想做的是在编辑后单击模态外部时,由于我尚未保存表格,因此希望将表格恢复为原始表格。基本上,如果用户编辑数据然后在模式之外单击,我想防止用户出错。他们会认为数据已经更新,因为它反映了表格。但是,此更新在客户端,刷新后将恢复为原始形式。我该如何预防?基本上,我的解决方案是用户在模态关闭之外单击。而且我需要重置表中数据的已编辑部分。
这是一个工作代码。任何帮助,将不胜感激。
答案 0 :(得分:1)
对象通过引用传递,因此本质上this.sample
和数组中相应的sample
指向同一对象。您可以改为传递索引,然后使用传播运算符。因此,将索引添加到您的迭代中:
<tr *ngFor="let sample of samples; let i = index">
将索引传递给click函数:
(click)="updateSample(i, updateSampleModal)
和函数本身,您在组件中声明了变量index
:
updateSample(index: any, modal) {
this.index = index;
this.sample = { ...this.samples[index]};
this.modalRef = this.modalService.show(modal,
Object.assign({}, { class: 'gray modal-lg' })
);
}
如果单击保存按钮,则将值分配给数组中的特定样本:
update(sample) {
this.samples[this.index] = sample;
}
您的 StackBlitz