让el-option和el-select宽度保持一致
直接上代码!!!以下写法为 vue3
<el-select
v-model="columnContentList"
placeholder="请输入关键词"
ref="columnContentSelect"
class="column-content-list">
<el-option
v-for="item in columnContentListOptions"
:key="item.value"
:label="item.label"
:style="{'width': selectOptionWidth}"
:value="item.value">
</el-option>
</el-select>
// 设置选项框与输入框同宽度
const selectOptionWidth = ref('')
const columnContentSelect = ref(null)
onMounted(()=> {
nextTick(() => {
selectOptionWidth.value = columnContentSelect.value.$el.offsetWidth + "px";
});
})
原理:DOM挂载完毕后,获取 el-selcet宽度,并赋值给 el-option 。
如果 el-select 宽度不确定,可以在 focus 时获取 el-select 宽度,赋值给 el-option

浙公网安备 33010602011771号