打字稿创建规则数组并获取

Posted

技术标签:

【中文标题】打字稿创建规则数组并获取【英文标题】:Typescript creating an array of rules and getting 【发布时间】:2022-01-06 13:28:51 【问题描述】:

我刚开始在 vue.js 中使用 Typescript。我正在尝试创建一组规则来验证电子邮件。

在我的数据部分我有以下代码

data(): 
    loading:  boolean,
    valid: boolean,
    emailRules: any[],
   
    return 
        loading: false,
        valid: true,
        emailRules: [
            v => !!v || "Email is required",
            v => /.+@.+\..+/.test(v) || "Email must be valid"
        ],
    
,

我得到一个参数 'v' 隐含地对上面的代码有一个 'any' 类型的错误。我想是因为这是一个规则,我可以将任何用于我的数组类型,但我错了。所以输入我的数组应该这样我就没有这个错误了吗?

【问题讨论】:

它抱怨函数参数v,我认为在这种情况下应该是一个字符串,所以你可以将你的规则更改为v: string => .... 【参考方案1】:

您应该输入v 有效负载,例如:

        emailRules: [
            (v : string) => !!v || "Email is required",
            (v : string) => /.+@.+\..+/.test(v) || "Email must be valid"
        ],

【讨论】:

谢谢,我没想到 v 是一个字符串。我添加了 :string 并且错误消失了。

以上是关于打字稿创建规则数组并获取的主要内容,如果未能解决你的问题,请参考以下文章

无法从打字稿中的 json 对象获取数组响应

具有默认值的打字稿固定数组

打字稿泛型,获取数组内容的类型

打字稿从父ID中获取所有子孙ID的数组

是否可以从数组创建打字稿类型?

如何从打字稿中的数组中获取键[重复]