You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ant-design-vue/components/vc-drawer/demo/placement.jsx

117 lines
3.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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