我正在尝试让APPRAISAL_TYPE下的选项显示在我的React表单上
class Appraisal(BaseModel): class APPRAISAL_TYPE(models.IntegerChoices): self_appraisal = 1 line_manager = 2 coo = 3 name = models.CharField(max_length=200, blank=True) category = models.IntegerField(choices=APPRAISAL_TYPE.choices, default=APPRAISAL_TYPE.self_appraisal) description = models.TextField(max_length=200, blank=True) appraisal_for = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.SET_NULL, related_name="re_appraisal_for") appraised_by = models.CharField(max_length=200, blank=True)
<InputGroup> <InputLeftAddon children="Category" borderRadius="16px" /> <Select name="category" value={APPRAISAL_TYPE[appraisalDetails.status]} options={categoryOptions} onChange={(option) => handleChange(option, "category")} /> </InputGroup>
然而,由于category是一个整数字段,它应该与APPRAISAL_TYPE连接在一起,所以我得到了一个期望整数的错误。
P粉0869937882023-09-13 14:29:45
你可以尝试这个
// 如果这是一个昂贵的操作,可以使用useMemo let categoryOptions = Object.entries(APPRAISAL_TYPE).map(([key, value]) => { //console.log("item", key, value); // 修改属性以适应组件所需的选项 return { label: value.label, value: parseInt(value.value) }; }); // React JSX <InputGroup> <InputLeftAddon children="类别" borderRadius="16px" /> <Select name="category" value={APPRAISAL_TYPE[appraisalDetails.status]} options={categoryOptions} onChange={(option) => handleChange(option, "category")} /> </InputGroup>
使用了什么类型的Select
组件,categoryOptions的属性需要相应更改
希望能帮助您解决问题。