我对 TypeScript 开发非常陌生,我想实现以下 make
hasRoleName
函数在全局可用,而不是在本地使用我的变量 businessAdvisorRole
作为参数传入,如果不在函数中传递变量的值"Business Advisor role"
,我想实现最佳实践和干净的代码。请指教,下面是我的代码。这是针对 Dynamics 365 的。
export function checkBusinessAdvisorRole() {
var businessAdvisorRole = "Business Advisor role";
isBusinessAdvisorRole = false;
//Store Security Roles
var userRoles = Xrm.Utility.getGlobalContext().userSettings.roles;
var hasRole = false;
//seperate the function
userRoles.forEach(function hasRoleName(item, index) {
//Check passed in value for role[].name match
if (item.name === businessAdvisorRole) {
//match found set return value to true
isBusinessAdvisorRole = true;
hasRole = true;
formContext.getControl<Xrm.Controls.StringControl>("kc_name").setDisabled(false);
};
});
}
这可能对你有用:
export function checkBusinessAdvisorRole(roleName: string) {
//Store Security Roles
const userRoles = Xrm.Utility.getGlobalContext().userSettings.roles;
let hasRole = false;
//seperate the function
userRoles.forEach(function hasRoleName(item, index) {
if (item.name === roleName) {
hasRole = true;
};
});
formContext.getControl<Xrm.Controls.StringControl>("kc_name").setDisabled(!hasRole);
}