请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

给validateInput添加验证功能

老师,我使用最新版本的mitt给validateInput添加验证功能时ts报这个错,该怎么解决呢?我百度了没找到答案图片描述

正在回答 回答被采纳积分+3

2回答

张轩 2022-02-09 10:18:09

同学你好 首先我们搞清楚哪里出问题了

你改造了 form-item-created 这个事件需要传递的参数。

现在的参数是:

emitter.emit('form-item-created', {
    validator: validateInput,
    clearInput,
    formName: inject('formName')
})
// 而规定的类型是
type Events = { 'form-item-created': ValidateFunc }
export const emitter = mitt<Events>()

// 这明显就是问题了 form-item-created 值需要一个函数类型
// 而我们现在除了这个函数,还传入了其他内容。所以我们要将它更新一下
// 新建一个 FormEvent,将我们需要的三个键都传进去
interface FormEvent  {
    validator: ValidateFunc;
    clearInput: ClearFunc;
    formName: any;
}
type Events = { 'form-item-created': FormEvent }
// 这样就对应上了,错误也就消失了

亲测可用~

0 回复 有任何疑惑可以回复我~
张轩 2022-02-08 09:59:03

同学你好 看起来是类型不匹配 可否将对应的代码库(git)发给我,我在本地帮你调试一下,这样看的更加清楚,谢谢

0 回复 有任何疑惑可以回复我~
  • 提问者 Symbol王独秀 #1
    好的,谢谢老师,https://gitee.com/wanglipingvcu/vue3-zheye.git
    回复 有任何疑惑可以回复我~ 2022-02-08 10:44:47
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号