gpt4 book ai didi

javascript - 如果 if 语句为 true,则隐藏 Vue.js 中的选项卡

转载 作者:行者123 更新时间:2023-12-02 21:53:41 25 4
gpt4 key购买 nike

我有一个 Vue 组件,它有一个如下所示的模板:

<template>
<div>
<div class="row" >
<button class="btn btn-primary" style="margin-bottom:20px" @click="changeSelectedComp">Back</button>
<button class="btn btn-primary" style="margin-left:1000px" @click="EditMode">Edit</button>
</div>

<vue-tabs>
<v-tab title="Basic">
<app-players></app-players>
</v-tab>
<v-tab title="History">
<app-histories></app-histories>
</v-tab>
<v-tab title="Timetable">
<app-timetables></app-timetables>
</v-tab>
<v-tab title="Scholarship">
<app-scholarship></app-scholarship>
</v-tab>
</vue-tabs>
</div>
</template>

我想要实现的是隐藏选项卡History , TimetableScholarship如果此陈述为真:

IsCurrentUserMemberOfGroup("Admins", function (isCurrentUserInGroup) {
if(isCurrentUserInGroup) {
// hide the tabs
}
});

这是IsCurrentUserMemberOfGroup功能:

function IsCurrentUserMemberOfGroup(groupName, OnComplete) {

var currentContext = new SP.ClientContext.get_current();
var currentWeb = currentContext.get_web();

var currentUser = currentContext.get_web().get_currentUser();
currentContext.load(currentUser);

var allGroups = currentWeb.get_siteGroups();
currentContext.load(allGroups);

var group = allGroups.getByName(groupName);
currentContext.load(group);

var groupUsers = group.get_users();
currentContext.load(groupUsers);

currentContext.executeQueryAsync(OnSuccess,OnFailure);

function OnSuccess(sender, args) {
var userInGroup = false;
var groupUserEnumerator = groupUsers.getEnumerator();
while (groupUserEnumerator.moveNext()) {
var groupUser = groupUserEnumerator.get_current();
if (groupUser.get_id() == currentUser.get_id()) {
userInGroup = true;
break;
}
}
OnComplete(userInGroup);
}

function OnFailure(sender, args) {
OnComplete(false);
}
}

我查看了v-if (条件渲染),但还没理解语法。尝试过<vue-tabs v-if="IsCurrentMemberofGroup"> ,但这行不通。

如果 if 语句为 true,如何隐藏选项卡?(这是 full component )

最佳答案

isCurrentUserInGroup放入数据中,以便您可以引用它:

export default {
components: {
...
},
methods: {
...
},
data: {
isCurrentUserInGroup: false
}
};

并根据需要设置为 true 或 false。然后您可以在选项卡中将其与 v-if 一起使用:

<vue-tabs>
<v-tab title="Basic">
<app-players></app-players>
</v-tab>
<v-tab v-if="isCurrentUserInGroup" title="History">
<app-histories></app-histories>
</v-tab>
<v-tab v-if="isCurrentUserInGroup" title="Timetable">
<app-timetables></app-timetables>
</v-tab>
<v-tab v-if="isCurrentUserInGroup" title="Scholarship">
<app-scholarship></app-scholarship>
</v-tab>
</vue-tabs>

关于javascript - 如果 if 语句为 true,则隐藏 Vue.js 中的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60059695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com