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

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

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