elementPlus el-table + el-textarea + el-popover实现表格项嵌套可自动换行的选择器

文章讲述了在Vue项目中,如何解决表格选择器根据文本内容长度自动换行的需求,通过结合el-textarea和popover,并利用v-model双向数据绑定和$refs动态控制多个popover的隐藏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天项目遇到一个需求,表格项中的选择器需要根据文本内容的长度实现自动换行,原先使用select选择器穿透修改样式只能实现固定高度,如图:

 穿透无法使高度自适应

所以使用el-textarea配合popover:

(外层还有一层el-table)

 

 popover弹窗用来显示选项内容,通过v-model绑定table的scope:

                v-model="scope.row[item.name]"

实现点击选项切换文本域中的内容,

存在多个popover,点击选项完隐藏popover处理方法:

1. :ref="`popover-${scope.$index}-${index}`"    ===>两个索引的原因是我一行内有两个popover
 2. @click="scope.row[item.name]=item2.value;closePopover(scope.$index,index);"
 3. const closePopover=(ind1,ind2)=>{

    const refArr=proxy.$refs[`popover-${ind1}-${ind2}`]

    refArr[0].hide()

  }

需要用到$refs来获得popover组件的hide方法,传入索引找到匹配的弹窗组件去进行隐藏。实现如图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值