102 lines
3.3 KiB
Vue
102 lines
3.3 KiB
Vue
import Drawer from '../src/index'
|
||
import Menu from '../../menu/index'
|
||
import Icon from '../../icon/index'
|
||
import '../assets/index.less'
|
||
import '../../menu/style/index'
|
||
import '../../icon/style/index'
|
||
import '../../button/style/index'
|
||
import '../../select/style/index'
|
||
|
||
const SubMenu = Menu.SubMenu
|
||
const MenuItemGroup = Menu.ItemGroup
|
||
|
||
export default {
|
||
data () {
|
||
return {
|
||
placement: 'right',
|
||
childShow: true,
|
||
width: '20vw',
|
||
height: null,
|
||
}
|
||
},
|
||
methods: {
|
||
onChange (event) {
|
||
const value = event.target.value
|
||
this.placement = value
|
||
this.width = value === 'right' || value === 'left' ? '20vw' : null
|
||
this.height = value === 'right' || value === 'left' ? null : '20vh'
|
||
this.childShow = false // 删除子级,删除切换时的过渡动画。。。
|
||
this.$nextTick(() => {
|
||
this.childShow = true
|
||
})
|
||
},
|
||
},
|
||
render () {
|
||
return (
|
||
<div >
|
||
{this.childShow && (
|
||
<Drawer placement={this.placement} width={this.width} height={this.height}>
|
||
<Menu
|
||
defaultSelectedKeys={['1']}
|
||
defaultOpenKeys={['sub1']}
|
||
mode='inline'
|
||
>
|
||
<SubMenu
|
||
key='sub1'
|
||
title={<span><Icon type='mail' /><span>Navigation One</span></span>}
|
||
>
|
||
<MenuItemGroup key='g1' title='Item 1'>
|
||
<Menu.Item key='1'>Option 1</Menu.Item>
|
||
<Menu.Item key='2'>Option 2</Menu.Item>
|
||
</MenuItemGroup>
|
||
<MenuItemGroup key='g2' title='Item 2'>
|
||
<Menu.Item key='3'>Option 3</Menu.Item>
|
||
<Menu.Item key='4'>Option 4</Menu.Item>
|
||
</MenuItemGroup>
|
||
</SubMenu>
|
||
<SubMenu
|
||
key='sub2'
|
||
title={<span><Icon type='appstore' /><span>Navigation Two</span></span>}
|
||
>
|
||
<Menu.Item key='5'>Option 5</Menu.Item>
|
||
<Menu.Item key='6'>Option 6</Menu.Item>
|
||
<SubMenu key='sub3' title='Submenu'>
|
||
<Menu.Item key='7'>Option 7</Menu.Item>
|
||
<Menu.Item key='8'>Option 8</Menu.Item>
|
||
</SubMenu>
|
||
</SubMenu>
|
||
<SubMenu
|
||
key='sub4'
|
||
title={<span><Icon type='setting' /><span>Navigation Three</span></span>}
|
||
>
|
||
<Menu.Item key='9'>Option 9</Menu.Item>
|
||
<Menu.Item key='10'>Option 10</Menu.Item>
|
||
<Menu.Item key='11'>Option 11</Menu.Item>
|
||
<Menu.Item key='12'>Option 12</Menu.Item>
|
||
</SubMenu>
|
||
</Menu>
|
||
</Drawer>
|
||
)}
|
||
<div
|
||
style={{
|
||
width: '100%', height: 667, background: '#fff000',
|
||
color: '#000', textAlign: 'center', lineHeight: '667px',
|
||
}}
|
||
>
|
||
选择位置:
|
||
<select
|
||
style={{ width: '120px', marginLeft: '20px' }}
|
||
value={this.placement}
|
||
onChange={this.onChange}
|
||
>
|
||
<option value='left'>左边 left</option>
|
||
<option value='top'>上面 top</option>
|
||
<option value='right'>右边 right</option>
|
||
<option value='bottom'>下面 bottom</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
)
|
||
},
|
||
}
|