问题描述:select 组件绑定了 v-model  和 placeholder,当 v-modal 绑定的属性为空时,select 组件的 placeholder 属性不显示。

// 初始化 level = '' 
<a-select v-model="level" placeholder="选择日志级别" allow-clear>
  <a-select-option value="info">一般</a-select-option>
  <a-select-option value="warn">警告</a-select-option>
  <a-select-option value="error">错误</a-select-option>
</a-select>

打开控制台,我们可以看到 class 为 ant-select-selection__placeholder,即 placeholder 的 DOM 元素上,添加了一个 display:none 属性,从而被隐藏了。

如果只是单纯的把 ant-select-selection__placeholder 下面的 display: none 属性去掉的话,输入框有选择值后,就会出现 v-model 的值和 placeholder 的值重叠了。

placeholder是当前组件值为空时显示的替换文本,只有值为空的时候才会显示。当组件绑定了v-model且绑定值初始化时,值不再是空,即时初始化值为’'也视为有值,所以placeholder自然就不会显示。

在antd中如果不进行初始化,那么值就是undefined,可显示placeholder

 

 

Logo

前往低代码交流专区

更多推荐