根据状态隐藏按钮

Posted xuchao0506

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据状态隐藏按钮相关的知识,希望对你有一定的参考价值。

需求描述:进入详情页的时候,要根据对象的状态判断详情页的按钮展示情况: 1 编辑 删除 关闭 发布 2 编辑 删除 关闭 3 编辑 关闭 4关闭 

解决思路:默认所有的按钮都隐藏,根据状态1234,控制将对应按钮的style属性由隐藏改为显示,

代码:

//html代码:
<div class="btn-group">
<button class="btn sbold green" id="toDelete" onclick="" style="display: none;">
<span class="ladda-label">
<i class="fa fa-plus" aria-hidden="true"></i>删除
</span>
</button>
</div>
<div class="btn-group">
<button class="btn sbold green" id="toRelease" onclick="" style="display: none;">
<span class="ladda-label">
<i class="fa fa-plus" aria-hidden="true"></i>发布
</span>
</button>
</div>
<div class="btn-group">
<button class="btn sbold green" id="toEdit" onclick="" style="display: none;">
<span class="ladda-label">
<i class="fa fa-plus" aria-hidden="true"></i>编辑
</span>
</button>
</div>
<div class="btn-group">
<button class="btn sbold green" id="toClose" onclick="" style="display: none;">
<span class="ladda-label">
<i class="fa fa-plus" aria-hidden="true"></i>关闭
</span>
</button>
</div>

//js代码 <script type="text/javascript" th:inline="javascript" xmlns:th="http://www.w3.org/1999/xhtml">
var code =[[${code}]]; //获取后台穿过来的状态
switch (code) {
case 1:
document.getElementById("toRelease").style.display="block";//显
document.getElementById("toDelete").style.display="block";//显
document.getElementById("toEdit").style.display="block";//显
document.getElementById("toClose").style.display="block";//显
break;
case 2:
document.getElementById("toDelete").style.display="block";//显
document.getElementById("toEdit").style.display="block";//显
document.getElementById("toClose").style.display="block";//显
break;
case 3:
document.getElementById("toEdit").style.display="block";//显
document.getElementById("toClose").style.display="block";//显
break;
case 4:
document.getElementById("toClose").style.display="block";//显
break;
}
</script>

//后台java代码 map.addAttribute("code", code);
return VIEW_PATH + "/packDetail";

总结:其实还可以使用其他的方法都能实现这种效果  另外

document.getElementById("toClose").style.display="block"; //方式1
$("#toClose").parent().css("display", "");//方式2

都可以,不过方式2我自己的好像不好用,同事的这么写完全没问题
























































以上是关于根据状态隐藏按钮的主要内容,如果未能解决你的问题,请参考以下文章

仅在一个片段中隐藏状态栏并在其他片段中显示

根据状态显示或隐藏审核按钮

vue+element 根据状态,显示不同的操作按钮

Sphinx、reStructuredText 显示/隐藏代码片段

当我尝试在片段中显示或隐藏浮动操作按钮时出错

AntDesignVue中table 怎么根据返回的状态来控制显示与隐藏不同的多个操作按钮