Javascript 如何设置字段以匹配Flowjs中的数组值?

Javascript 如何设置字段以匹配Flowjs中的数组值?,javascript,flowtype,Javascript,Flowtype,给定一些表示表单字段可能值的冻结数组对象 const FROZEN_LIST = Object.freeze(['Value1', 'Value2', 'Value3']) 如何将表单对象定义设置为仅接受Flow.js中此字段键在此数组中定义的可能值 // @flow import {FROZEN_LIST} from (...) type FormData = { fieldKey: Array<string>, // this is not desirable becau

给定一些表示表单字段可能值的冻结数组对象

const FROZEN_LIST = Object.freeze(['Value1', 'Value2', 'Value3'])
如何将表单对象定义设置为仅接受Flow.js中此字段键在此数组中定义的可能值

// @flow
import {FROZEN_LIST} from (...)

type FormData = {
  fieldKey: Array<string>, // this is not desirable because I want it to be more specific.
  fieldKey: typeof FROZEN_LIST // is this how its done?
}
/@flow
从(…)导入{freezed_LIST}
类型FormData={
fieldKey:Array,//这是不可取的,因为我希望它更具体。
字段键:冻结列表的类型//是这样做的吗?
}
在这种情况下,您可以利用$Keys操作符

在你的情况下:

/@flow
从(…)导入{freezed_LIST}
类型FormData={
字段键:$Keys({…r,{[i]:i}),{}>
}
让我知道它是否有效

如果您可以更改原始的
FROEZEN_列表
,则会更好:

const freezed_LIST=Object.freeze({'Value1':'Value1','Value2','Value3':'Value3'})
/@flow
从(…)导入{freezed_LIST}
类型FormData={
字段键:$Keys
}
您也可以按照以下说明操作: