vue之elementui的异步表单验证,之做进vuex之actions

vue页面

 data() {
    let validcodeName = (rule, value, callback) => {
      let parmas = {
        name: value,
        rule: rule,
        callback: callback
      };
      this.getProjectByName(parmas);
    };
    return {
rules: {
        projectName: [{ required: true, trigger: 'blur', validator: validcodeName }],
}
}
 methods: {
    ...mapActions(['getProjectByName']),

actions

  actions: {
    getProjectByName(context, data) {
      console.log("22", data);
      let params = {
        name: data.name
      };
      SourceMirror.getProjectByName(params).then(res => {
        if (res.data.data === false) {
          data.callback(new Error("项目名称已重复"));
        } else if (
          data.name == undefined ||
          data.name == "" ||
          data.name == null
        ) {
          data.callback(new Error("请输入项目名称"));
        } else {
          data.callback();
        }
        context.commit("verifProjectByName", res.data.data);
      });
    }
  },

猜你喜欢

转载自www.cnblogs.com/lsc-boke/p/12982650.html