我有一个选项列表
const values = [
{ firstName: 'John',
id: 'text'
}.
{
userId: 123,
id: 'number'
}
];
逻辑是用户选择一个值(firstName),然后将生成一个“字符串”类型的输入字段。如果用户选择 userId,则将生成类型为“int”的文本输入。我需要创建一个逻辑,用户将能够从下拉列表中选择另一个选项,并且应该生成一个文本字段。例如,如果选择的选项是 True 或其他数字,它应该提供一个布尔值或整数文本字段。我也在使用 immutability helper 来更新类型,但我从官方文档中并没有清楚地理解。关于如何通过反应实现这一点的任何想法?
这是我的不变性辅助函数
const setValueType = (type: string, index: number) => {
if (index < 0 || index >= data.values.length) {
return;
}
setValueData(update(data, {
values: {
[index]: {
type: { $set: type }
}
}
}));
};
const setPlaceholder = (placeHolder: any, index: number) => {
if (index < 0 || index >= data.values.length) {
return;
}
setValueData(update(data, {
values: {
[index]: {
placeHolder: { $set: placeHolder }
}
}
}));
}
我正在使用“setValueType”函数来更新类型,并使用“setPlaceHolder”来设置显示文本,我必须想出一种方法来向下拉列表中添加新选项,但它们应该有条件地呈现类型。
我在想我必须在“setValueType”函数中传递一个 if-else 条件,但我不确定是否要实现它。