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

87 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>
)
},
}