elementPlus popover的高度以及自适应位置

9 篇文章 1 订阅

elementPlus popover的高度以及自适应位置

设置高度

借助popper-class属性,

image-20220903170307369

Popover 弹出框的位置接近边界时,应该自动切换到相反的方向进行显示,核心::fallback-placements="['bottom', 'top', 'right', 'left']"

  <el-row :gutter="24">
          <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
            <el-form-item label="菜单图标" prop="icon" label-width="100px">
              <el-input v-model="menuForm.icon" disabled>
                <template #append>
<!--                  element plus 的popover组件如何去自适应位置-->
<!--                  :fallback-placements="['bottom', 'top', 'right', 'left']"当 Popover 弹出框的位置接近边界时,应该自动切换到相反的方向进行显示-->
<!--                  popper-class添加最大高度,超过出现滚动条-->
                  <el-popover placement="bottom" :width="400"  trigger="click"
                              popper-class="max-h-300px overflow-auto"
                              :fallback-placements="['bottom', 'top', 'right', 'left']">
                    <template #reference>
                      <el-button :icon="Aim"/>
                    </template>

                    <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
                      <template v-for="i in iconsTabArr">
                      <el-tab-pane :label="i" :name="i">
                        <el-row>
                          <el-col :xs="6" :sm="6" :md="4" :lg="3" :xl="3" v-for="item in icons" :key="item.id">
                            <div class="text-center  cursor-pointer transition-all duration-100 hover:( bg-purple-800 text-gray-50)" @click="selectIcon(item.value)">
                              <i :class="item.value" class="ri-2x"></i>
                            </div>
                          </el-col>
                        </el-row>
                      </el-tab-pane>
                      </template>
                    </el-tabs>
                  </el-popover>
                </template>
              </el-input>
            </el-form-item>
          </el-col>
        </el-row>

popper-class="max-h-300px overflow-auto"这个class属性我是借助windcss,包括剩下的class属性我都是借助这个类库,如果你没安装这个,你只需要补充以下样式即可

<style scoped>
.max-h-300px {
  max-height: 300px;
}
.overflow-auto {
  overflow: auto;
}
</style>

image-20220903170800395

image-20220903170830245

演示:

elementplus proper

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值