我是一名新手后端开发人员,我的任务是添加一些反应功能,而且我完全不在我的深度。以下代码生成异常"无法设置属性' 1'未定义"。第一个元素是id:1和name:""。我不认为空字符串与我的问题有任何关系,因为我已经尝试过对字符串进行硬编码而且得到了同样的例外。
payment_code: {
label: 'Payment Code',
value: 'payment_code',
choices: adminSalesStore.paymentCodes.map((payment_code) => {
console.log(payment_code);
console.log(payment_code['id']);
console.log(payment_code['name']);
displayChoices.payment_code[payment_code['id']] = payment_code['name'];
return {
label: payment_code['id'],
value: payment_code['name']
}
}),
type: 'choice'
},
我真的不明白错误,因为payment_code [' id']和payment_code [' name']不是空的或未定义的。日志声明证实了这一点。对于超级基本问题感到抱歉,但我已经广泛搜索了这个问题,这个错误仍然没有任何意义。在同一个班级中有类似的功能,它们都有效。但是,其他方法使用const数组,我需要从db中提取我的值。
答案 0 :(得分:1)
我猜你所展示的属性是displayChoices
作业的一部分,即它是这样的:
displayChoices = {
...
payment_code: {
label: "Payment Code",
value: 'payment_code',
choices: adminSalesStore.paymentCodes.map((payment_code) => {
console.log(payment_code);
console.log(payment_code['id']);
console.log(payment_code['name']);
displayChoices.payment_code[payment_code['id']] = payment_code['name'];
return {
label: payment_code['id'],
value: payment_code['name']
}
}),
type: 'choice'
},
...
};
问题是,在此声明完成之前,没有displayChoices.payment_code
属性,因此您无法分配到displayChoices.payment_code[anything]
。
完成第一次作业后,你应该完成这项任务。
displayChoices = {
...
payment_code: {
label: "Payment Code",
value: 'payment_code',
type: 'choice'
},
...
};
displayChoices.choices = adminSalesStore.paymentCodes.map((payment_code) => {
console.log(payment_code);
console.log(payment_code['id']);
console.log(payment_code['name']);
displayChoices.payment_code[payment_code['id']] = payment_code['name'];
return {
label: payment_code['id'],
value: payment_code['name']
}
}),
答案 1 :(得分:0)
它的displayChoices.payment_code
看起来是未定义的。
displayChoices
已定义,或者会抱怨为此设置付款代码,因此我会在运行前定义displayChoices.payment_code = []
或{}
(取决于您的目的)这段代码。或者您可能正在寻找displayChoices.paymentCodes
,这更像是您之前选择的adminSalesStore.paymentCodes
,并且对我更有意义。不确定没有看到更多的代码。