ant-design-vue/components/vc-drawer/demo/multiple.jsx

89 lines
2.2 KiB
Vue

import Drawer from '../src/index';
import Button from '../../button/index';
import '../assets/index.less';
import '../../menu/style/index';
import '../../icon/style/index';
import '../../button/style/index';
export default {
data() {
return {
open: false,
openChild: false,
openChildren: false,
};
},
methods: {
onClick() {
this.open = !this.open;
},
onChildClick() {
this.openChild = !this.openChild;
},
onChildrenClick() {
this.openChildren = !this.openChildren;
},
getLevelMove(e) {
const target = e.target;
if (target.className.indexOf('drawer1') >= 0) {
return [200, 100];
}
return 100;
},
},
render() {
return (
<div>
<div
style={{
width: '100%',
height: 667,
background: '#fff000',
color: '#fff',
textAlign: 'center',
lineHeight: '667px',
}}
>
<Button onClick={this.onClick}>打开抽屉</Button>
</div>
<Drawer
width="20vw"
handler={false}
open={this.open}
onMaskClick={this.onClick}
class="drawer1"
placement="right"
>
<div>
<Button onClick={this.onChildClick}>打开子级</Button>
<Drawer
handler={false}
open={this.openChild}
onMaskClick={this.onChildClick}
class="drawer2"
level=".drawer1"
placement="right"
levelMove={100}
>
<div style={{ width: 200 }}>
二级抽屉
<Button onClick={this.onChildrenClick}>打开子级</Button>
<Drawer
handler={false}
open={this.openChildren}
onMaskClick={this.onChildrenClick}
level={['.drawer1', '.drawer2']}
placement="right"
levelMove={this.getLevelMove}
>
<div style={{ width: 200 }}>三级抽屉</div>
</Drawer>
</div>
</Drawer>
</div>
</Drawer>
</div>
);
},
};