是否可以指定其值为enum
或Boolean
的属性?这不起作用:
enum PassPermission { request, verify, view, modify }
type Permissions
{
pass: PassPermission! | Boolean!
}
这也不是:
enum PassPermission { request, verify, view, modify }
union PassPermissionOrFalse = PassPermission | Boolean
type Permissions
{
pass: PassPermissionOrFalse!
}
但是我想在我的模式中传达pass
的值将始终是这四个字符串值之一或false
。
答案 0 :(得分:1)
您可以使用Union Types完成此操作。但正如文档中所述:
请注意,联合类型的成员必须是具体的对象类型;您不能通过接口或其他联合创建联合类型。
因此,在构建enum
类型时,不能使用Boolean
或类似union
的标量,但是可以执行以下操作:
enum permission { request, verify, view, modify }
type PassPermission {
permissions: permission
}
type PassFalse {
value: Boolean
}
union Permissions = PassPermission | PassFalse
通过这种方式,类型Permissions
可以具有两种类型PassPermission
或PassFalse
中的一种。
希望有帮助。