unicloud39-*改BUG

28 阅读2分钟

改BUG

之前的编辑页面和修改页面是通过for in循环遍历输入框有没有值,app端不支持 这是之前的写法

      // 判断按钮的是否禁用
      // 这里是通过obj接收值所以不用写this,不传值也可以,写上this.一样
      inDisabled(obj){
        // 循环判断key的三个值是否为空,不为空就返回true,使按钮变为可用状态
        for(let key in obj){
          // obj[key]和obj.key一样的效果,打印出来的值就是用户输入的值
          // console.log(obj[key]);
          if(!obj[key]){
            return true
          }
        }
      },

先改新增页面

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)

      inDisabled(obj){
        // 下面用for循环的方法app不支持,不知道原因
        // 循环判断key的三个值是否为空,不为空就返回true,使按钮变为可用状态
        // for(let key in obj){
        //   // obj[key]和obj.key一样的效果,打印出来的值就是用户输入的值
        //   // console.log(obj[key]);
        //   if(!obj[key]){
        //     return true
        //   }
        // }
        
        // every some 区别
        // 于检测数组中的元素是否满足指定条件(函数提供)
        // every要每一个对象全部满足条件才返回true,some只要有一项满足就返回true; 
        // 通过object对象的keys方法,返回参数obj这个对象的key,返回值是一个数组包含字符串
        // some() 方法用于检测数组中的元素是否满足指定条件(函数提供)
        // 这里的obj就是formvalue,通过keys返回的值是['title', 'author', 'content']
        // 通过some方法判断key不为空,也就是用户都填了信息就返回true
        // 这里只有三个输入框都有值才会返回false,否则返回true
        let bool = Object.keys(obj).some((key,value)=>{
          return obj[key] == ''
        })
        return bool;
      },

同时把编辑页面也改了

        // 把上面的for循环改成这样,否则打包app报错
        let bool = Object.keys(obj).some((key,value)=>{
          return obj[key]==''
        })
        return bool
      },