今天有群友问,有没有办法实现<Select>的选项弹窗展开后以<Select>控件垂直居中显示?目前iview提供的弹窗的展开方向top、bottom、top-start、bottom-start、top-end、bottom-end都不适合。

我去view ui官网看了下示例,看了下属性placement,是下拉菜单出现的位置。基本都是是选项框环绕着select元素出现,因此12个枚举值都用不上。那我就准备使用笨办法修改css方式去看能否实现这个需求。刚好有个属性transfer-class-name,开启 transfer 时,给浮层添加额外的 class 名称。赶紧试试。
<style>
.changeBattle{
transform:translateY(-50%)
}
</style>
<template>
<br/>
<br/>
<br/>
<br/><br/>
<br/><br/><br/><br/><br/><br/><br/><br/>
<Dropdown transfer="true" transfer-class-name="changeBattle" style="margin-left:100px;">
<a href="javascript:void(0)">
菜单(左)
<Icon type="ios-arrow-down"></Icon>
</a>
<DropdownMenu slot="list">
<DropdownItem>驴打滚</DropdownItem>
<DropdownItem>炸酱面</DropdownItem>
<DropdownItem>豆汁儿</DropdownItem>
<DropdownItem>冰糖葫芦</DropdownItem>
<DropdownItem>北京烤鸭</DropdownItem>
</DropdownMenu>
</Dropdown>
</template>
<script>
export default {
}
</script> 上效果图

虽然不是及时居中,但也勉强算符合字面要求了。
