需求:
使用a-select下拉框时,要求在输入框内显示默认提示。本文基于vue2和antd组件
解决:
第一种情况:
1、在ant design组件中使用a-select组件,但绑定了placeholder,并未显示默认提示,那是因为你在a-select标签内使用了v-model,v-model绑定的值,一般默认给个字符串,即 '',如下:
level: ’‘,
2、但空字符串在v-model中,默认是一个值,和placeholder是冲突的,所以placeholder绑定的值不显示,这个时候,应该让data中的level为undefined即可,undefined认为没有值,所以就会让placeholder绑定的数据显示。
data() {
return {
level: undefined,
}
}
第二种情况:
1、一般按照第一种情况设置就可以解决,但我遇到过第二种情况,按照第一种情况设置并没有生效
a-select标签组件有个api叫value,可以理解为v-model
解决思路和第一种一样,不过要使用三元运算符去判断下,而v-model是双向数据绑定的值,不能用于三元运算符判断(使用v-model报错)
<a-select class="inputSearchs" :value="from.level ? from.level : undefined" @change="addOrEditLevelChange" placeholder="请输入严重级别">
data() {
return {
from: {
level: undefined
}}}
总结:
这些还是要多积累,若有不到的地方,请各位看官指出,避免误导,感谢!