给出以下接口和相应的Yup架构。TypeScript 有没有办法自动推断条件函数参数(例如enabled和schema)?
import { object as yupObject, string as yupString, boolean as yupBoolean } from 'yup';
interface Foo {
enabled: boolean
name?: string
}
const fooSchema = yupObject().shape({
enabled: yupBoolean(),
name: yupString().when('enabled', (enabled, schema) => enabled ? schema.required() : schema)
})
Run Code Online (Sandbox Code Playgroud)
我已经尝试过了yupObject()<Foo>,shape<Foo>(..)但都没有帮助。如果不能自动完成,那么schema在这种情况下合适的类型是什么?
你能尝试这样的事情吗
import * as Yup from "yup"
interface Foo {
enabled?: Yup.BooleanSchema
name?: Yup.StringSchema
}
const FooSchemaObj: Foo = {
name: Yup.string().when('enabled', (enabled, schema) => enabled ?
schema.required() : schema),
enabled: Yup.boolean()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6056 次 |
| 最近记录: |