2 lines
3.0 KiB
JavaScript
2 lines
3.0 KiB
JavaScript
import{V as e,e as s,d as i,l as a,r as n,W as o,o as l,c as r,g as d,i as t,a as m,L as p,w as c,h as u,z as f,A as y}from"./index.4bd4bbec.js";import{_}from"./SwitchRoles.5c658b32.js";const v=s=>{if(s&&s instanceof Array&&s.length>0){const i=e().roles,a=s;return i.some((e=>a.includes(e)))}return console.error("need roles! Like v-permission=\"['admin','editor']\""),!1};const g={class:"app-container"},h={class:"permission-alert"},k=y(" 只有 "),b=y("admin"),C=y("可以看见这个 "),x=y(" v-permission=\"['admin']\" "),z={class:"permission-alert"},P=y(" 只有 "),w=y("editor"),R=y("可以看见这个 "),j=y(" v-permission=\"['editor']\" "),A={class:"permission-alert"},L=y(" 两者 "),I=y("admin"),S=y("和 "),V=y("editor"),W=y("都可以看见这个 "),q=y(" v-permission=\"['admin', 'editor']\" "),B=y(" 在某些情况下,不适合使用 v-permission。例如:element-plus 的 el-tab 或 el-table-column 以及其它动态渲染 dom 的场景。你只能通过手动设置 v-if 来实现。 "),D=y(" admin 可以看见这个 "),E=y(" v-if=\"checkPermission(['admin'])\" "),F=y(" editor 可以看见这个 "),G=y(" v-if=\"checkPermission(['editor'])\" "),H=y(" 两者 admin 和 editor 都可以看见这个 "),J=y(" v-if=\"checkPermission(['admin', 'editor'])\" ");var K=s(i({setup(e){const s=a({key:1,handleRolesChange:()=>{s.key++}});return(e,i)=>{const a=n("el-tag"),y=n("el-tab-pane"),K=n("el-tabs"),M=o("permission");return l(),r("div",g,[d(_,{onChange:t(s).handleRolesChange},null,8,["onChange"]),(l(),r("div",{key:t(s).key,style:{"margin-top":"30px"}},[m("div",null,[p((l(),r("span",h,[k,d(a,null,{default:c((()=>[b])),_:1}),C])),[[M,["admin"]]]),p((l(),u(a,{class:"permission-sourceCode",type:"info",size:"large"},{default:c((()=>[x])),_:1})),[[M,["admin"]]])]),m("div",null,[p((l(),r("span",z,[P,d(a,null,{default:c((()=>[w])),_:1}),R])),[[M,["editor"]]]),p((l(),u(a,{class:"permission-sourceCode",type:"info",size:"large"},{default:c((()=>[j])),_:1})),[[M,["editor"]]])]),m("div",null,[p((l(),r("span",A,[L,d(a,null,{default:c((()=>[I])),_:1}),S,d(a,null,{default:c((()=>[V])),_:1}),W])),[[M,["admin","editor"]]]),p((l(),u(a,{class:"permission-sourceCode",type:"info",size:"large"},{default:c((()=>[q])),_:1})),[[M,["admin","editor"]]])])])),(l(),r("div",{key:"checkPermission"+t(s).key,style:{"margin-top":"60px"}},[d(a,{type:"info",size:"large"},{default:c((()=>[B])),_:1}),d(K,{type:"border-card",style:{width:"550px","margin-top":"60px"}},{default:c((()=>[t(v)(["admin"])?(l(),u(y,{key:0,label:"admin"},{default:c((()=>[D,d(a,{class:"permission-sourceCode",type:"info"},{default:c((()=>[E])),_:1})])),_:1})):f("",!0),t(v)(["editor"])?(l(),u(y,{key:1,label:"editor"},{default:c((()=>[F,d(a,{class:"permission-sourceCode",type:"info"},{default:c((()=>[G])),_:1})])),_:1})):f("",!0),t(v)(["admin","editor"])?(l(),u(y,{key:2,label:"admin 和 editor"},{default:c((()=>[H,d(a,{class:"permission-sourceCode",type:"info"},{default:c((()=>[J])),_:1})])),_:1})):f("",!0)])),_:1})]))])}}}),[["__scopeId","data-v-6aac19ea"]]);export{K as default};
|