天天看點

ant-design-vue select 元件 placeholder 被隐藏不顯示問題

問題描述: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