请稍等 ...
×

采纳答案成功!

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

every方法报错

const allPassed = props.rule.every
使用every时显示Property ‘every’ does not exist on type ‘unknown’

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

2回答

张轩 2021-08-04 09:24:40

同学你好 我直接用你的代码 并没有报错 请看截图

https://img1.sycdn.imooc.com//szimg/6109ec30090bddf115960312.jpg

如果还是不能解决 欢迎提供代码库我本地帮你看一下

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_慕标7509110 #1
    解决了,我把vetur扩展里面的Validation: Script这个选项关闭了,
    回复 有任何疑惑可以回复我~ 2021-08-04 14:00:08
张轩 2021-08-03 19:07:06

同学 请检查你 rule 这个属性的类型,它应该是是一个规则的数组才对。

我们课程中是:

rules: Array as PropType<RulesProp>,

这里你是不是写错了?应该是 rules

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_慕标7509110 #1
    interface RuleProp{
        type:'required'|'email';
        message:string;
    }
    export type Rules=RuleProp[]
    export default defineComponent({
        props:{
            rules:Array as PropType<Rules>
        },
        setup(props){
            const inputRef=reactive({
                val:'',
                error:false,
                message:''
            })
            const validateInput=()=>{
                if (props.rules) {
            const allPassed = props.rules.every(rule1 => {
              let passed = true
              inputRef.message = rule1.message
              switch (rule1.type) {
                case 'required':
                  passed = (inputRef.val.trim() !== '')
                  break
                case 'email':
                  passed = emailReg.test(inputRef.val)
                  break
                default:
                  break
              }
              return passed
            })
            inputRef.error = !allPassed
            return allPassed
            }
            return{
                inputRef,
                validateInput
            }
        }
        }
    })
    这是我的代码。。只有every这里报错
    回复 有任何疑惑可以回复我~ 2021-08-03 19:31:25
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

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

帮助反馈 APP下载

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

公众号

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