我使用v-model顯示選中/未選中的復選框:
<template v-for="(item, index) in myFields">
<v-checkbox
v-model="myArray[item.code]"
:label="item.name"
/>
</template>
當我從 API 獲取 true 或 false 值時,它作業正常。但現在我得到字串:“真”或“假”,我的復選框總是被選中。如果我更改代碼:
v-model="Boolean(myArray[item.code])"
我得到了錯誤:
“v-model”指令需要作為 LHS 有效的屬性值
我怎么解決這個問題?
uj5u.com熱心網友回復:
Boolean(myArray[item.code])無論如何嘗試都行不通,因為字串'false'是true. 所以Boolean('false')回傳true。
相反,您應該 do myArray[item.code]?!== 'false'
'false'will returnfalse并且除 false 之外的所有其他字串都將回傳true
編輯:您需要將 myArray 更改為像這樣的布爾陣列
myArray.map((element) => element !== 'false')
然后此代碼將起作用
<template v-for="(item, index) in myFields">
<v-checkbox
v-model="myArray[item.code]"
:label="item.name"
/>
</template>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/342593.html
標籤:javascript 打字稿 Vue.js
上一篇:在vuejs中創建子部分不起作用
