前端技術紀錄、everything I know

0%

【Vue】checkbox 的雙向綁定,透過true/false 修改資料內容

  • checkbox 和 true-value / false-value 的搭配使用

在 Vue 中,透過 v-model 做雙向綁定的資料,預設的值只有true 或是 false 兩種選項。如果 checkbox 勾選了,綁定的變數值改為 true、不勾選擇為 false。然而,在實務經驗的表單製作上,常需要更靈活的運用。例如,勾選時,綁定的變數顯示為男性,而不勾選時則為女性等等。

這個時候,我們就可以透過 true-value、false-value 來做進一步的表單操作。如下:

<input type="checkbox"
     v-model="gender"
     :true-value="男"
     :false-value="女"
>

如此一來,當 checkbox 被勾選後,在 data 裡的 gender 這個屬性的值,就會被改為「男」,而不是 true;反之亦然。這樣,我們在實際的表單操作上,就可以透過這筆資料,做更進一步的操作。

*PS. 在 true-value / false-value 的程式碼中,我們可能有時候會看到 v-bind: ,有時則否。當有 v-bind 符號時,表示這個 checkbox 會進一步地修改資料的內容;否則只是單純顯示不同的字串,但沒有做資料的綁定。

參考資料:https://stackoverflow.com/questions/41076832/vuejs2-checkbox-v-bindtrue-value-is-not-working