1.传递value+页面参数
@change="handleChange($event,'123')"
2.传递选中的key+value或是选中的item
我用的是a-auto-complete,试验了用a-select也可以
就是在option里面,:value="JSON.stringify(d)"
然后在eval('(' + value + ')')转化就可以

<a-auto-complete :allowClear="type=='customer'?true:false" :disabled="disabled" v-model="textVals" placeholder="请搜索"
option-label-prop="value"
:style="'width:'+selectWidth" :filter-option="false" @search="handleSearch" @change="handleChange($event)">
<template slot="dataSource">
<a-select-option v-for="d in dataList" :key="d.value" :value="JSON.stringify(d)">{{d.text}}</a-select-option>
</template>
</a-auto-complete>
handleSearch(e){
let obj = eval('(' + e + ')');
}
3.labelInValue参数,确实可以在change事件里获取到key+value,但是有个问题,前端给后端的参数也得是key+value格式

4.客户有个需求下拉菜单和选择器不同宽


:dropdown-match-select-width="false"

不用设置CSS样式!!!
a-auto-complete 也好用,虽然a-auto-complete没有dropdown-match-select-width这个属性!!!
顺便记录下,现在在用a-auto-complete,感觉比较坑的就是,重复选择相同的选项会出现多余的空格,解决方案:<a-select-option>{{d.text}}</a-select-option>写在一行就可以。
本文讲述了在Vue应用中如何通过`a-auto-complete`和`a-select`组件传递值和选中项,包括处理页面参数、option的value格式转换、labelInValue的使用以及解决下拉菜单宽度匹配的问题,特别提到了避免重复选择选项出现空格的解决方案。
2180

被折叠的 条评论
为什么被折叠?



