我是一名JavaScript初学者,不知道如何准确搜索我想要完成的事情......我有下面的数组,我以一种表格式逐页显示在页面上。[
0: {
cuip: ".A0100",
quantity: 38,
...
}
1: {
cuip: ".A0102",
quantity: 1,
...
}
...]当用户选择列表中的任何项目时,我会标记下面切换选择的该行旁边的复选框 toggleRow(cuip) {
const newSelected = Object.assign({}, this.state.selected);
newSelected[cuip] = !this.state.selected[cuip];
this.setState({
selected: newSelected,
selectAll: 2
});
}我最终选择的状态是什么{.A0100: true, ...}哪个好。因此,如果用户选择1,多个或所有行,我将那些行的cuips在状态中保存为true。麻烦的是,我需要保存行中的某些值,如ste,clt,quantity等。即:[
{
...
"cuip": ".A0102",
"clt": "asvd",
"ste": "v31r",
"quantity": 3,
...
}, {
...
"clt": "vr13",
"ste": "vr31",
"quantity": 6,
...
},]
3 回答
森林海
TA贡献2011条经验 获得超2个赞
您可以找到所选的特定行并将其保存在选定的数组中
例如:
//you can have a state of selected rowsstate = { selectedRows: []}toggleRow(cuip) { const newSelected = Object.assign({}, this.state.selected); newSelected[cuip] = !this.state.selected[cuip];.. const {selectedRows, /* this is where your data is stored -> */ rows} = this.state; const findSelected = rows.find(row => row.cuip === cuip); const selected = [...selectedRows, findSelected] this.setState({ selected: newSelected, selectAll: 2, selectedRows: selected }); }
对不起如果我理解错了,但那是你在寻找什么?
UYOU
TA贡献1878条经验 获得超4个赞
您可以存储(以及稍后删除)对整行的引用而不是布尔值以访问每个字段。
// Sample storage and a sample row
const selected = {};
const row = { cuip: '.A0100', quantity: 38 };
// Add a row
selected[row.cuip] = row;
// Check if a row is selected
const isRowSelected = selected.hasOwnProperty(row.cuip);
// Remove a row
delete selected[row.cuip];
您可以使用与已经演示过的方式相同的方式将其绑定到州管理层。
添加回答
举报
0/150
提交
取消