The vue project is transformed into a typescript project, and the problems and solutions are summarized

Function optional parameters, default values

js

import request from "@/utils/request";

export function initData(url, params, baseURL, method = "get", data = null) {
    
    
  return request({
    
    
    url: url,
    method: method,
    params,
    baseURL,
    data: data,
  });
}

ts

import request from "@/utils/request";

export function initData(url: string, params: any, baseURL: string, method?: "get", data?: null): any {
    
    
  return request({
    
    
    url: url,
    method,
    params,
    baseURL,
    data: data,
  });
}

The binding element "commit" implicitly has the type "any"

Insert picture description here
js

getMaterialList({
    
     commit, state }) {
    
    
      let url = "api/material";
      return new Promise((resolve) => {
    
    
        initData(url, state.params, state.baseURL).then((res) => {
    
    
          commit("setMaterialList", res.content);
          commit("setMaterialTotal", res.totalElements);
          resolve();
        });
      });
    },

ts

getMaterialList(content:any) {
    
    
      let url = "api/material";
      return new Promise((resolve) => {
    
    
        initData(url, content.state.params, content.state.baseURL).then((res:any) => {
    
    
          content.commit("setMaterialList", res.content);
          content.commit("setMaterialTotal", res.totalElements);
          resolve();
        });
      });
    },

Guess you like

Origin blog.csdn.net/weixin_35958891/article/details/107211059