【发布时间】:2018-12-17 11:07:19
【问题描述】:
我有一个要提交表单数据的突变,此数据可能因您填写的表单而异。
表单会很多,它们将共享相同的“步骤”(每个表单由 1 个或多个页面/步骤组成)。
所以,我们可能有这些可重复使用的步骤:
- 最喜欢的水果
- 出生日期
- 姓名和姓氏
还有这两种形式:
- 通用信息 (
genericInfo):姓名 + 出生日期 - 你吃什么? (
whatYouEat): 姓名+最爱水果
我需要一种方法来进行单一突变,允许定义表单名称,并采用需要基于此类表单名称进行验证的 data 对象。
例如,如果我称之为突变:
submitForm(formName: $formName, formData: $formData) {
resultMessage
}
将formName 设置为genericInfo 和formData 设置为{ nameAndSurname: 'Foo Bar', favFruit: 'apple' },它应该会抛出一个错误,因为genericInfo 不期望favFruit,而是dateOfBirth。
这可以用 GraphQL 实现吗?有没有更好的方法可以到达这里?
【问题讨论】: