提交 0fcb569c 编写于 作者: Shine-zwj's avatar Shine-zwj

数据选择下拉---下拉列表宽度和编辑器宽度保持一致

上级 b05b3096
......@@ -279,7 +279,7 @@ export default class AppColumnLink extends Vue {
if (result.datas && Array.isArray(result.datas)) {
Object.assign(item, result.datas[0]);
}
console.log(item);
this.$emit('refresh',item);
}
/**
......
......@@ -37,7 +37,7 @@
</div>
<div v-else-if="Object.is(editortype, 'dropdown')" class='app-picker'>
<el-select ref="appPicker" remote :remote-method="(query) => this.onSearch(query, null, true)" :value="refvalue" size='small' filterable
@change="onSelect" :disabled="disabled" style='width:100%;' clearable
@change="onSelect" :disabled="disabled" style='width:100%;' clearable popper-class="app-picker-dropdown"
@clear="onClear" @visible-change="onSelectOpen">
<template v-if="items">
<template v-for="_item in items">
......@@ -260,6 +260,14 @@ export default class AppPicker extends Vue {
*/
public selectValue = this.value;
/**
* 下拉列表节点元素
*
* @type {*}
* @memberof AppPicker
*/
public dropdownDom:any = {};
/**
* 获取关联数据项值
*
......@@ -314,6 +322,8 @@ export default class AppPicker extends Vue {
* @memberof AppPicker
*/
public mounted() {
const dropdownDom:any = this.$el.getElementsByClassName('app-picker-dropdown')[0];
this.dropdownDom = dropdownDom;
}
/**
......@@ -331,10 +341,22 @@ export default class AppPicker extends Vue {
public onSelectOpen(flag: boolean): void {
this.open = flag;
if (this.open) {
//设置下拉列表的最大宽度
this.setDropdownWidth();
this.onSearch(this.curvalue, null, true);
}
}
/**
* 设置下拉列表最大宽度使下拉列表宽度和编辑器宽度一致
*
* @memberof AppPicker
*/
public setDropdownWidth(){
const elInput:any = this.$el.getElementsByClassName('el-input__inner')[0];
this.dropdownDom.style.maxWidth = elInput.offsetWidth+'px';
}
/**
* 执行搜索数据
* @param query
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册