Uso v-model para mostrar casillas de verificación marcadas/sin marcar:
<template v-for="(item, index) in myFields"> <v-checkbox v-model="myArray[item.code]" :label="item.name" /> </template>Funciona bien cuando obtengo valores verdaderos o falsos de la API. Pero ahora obtengo cadenas: "verdadero" o "falso" y mi casilla de verificación siempre está marcada. Si cambio el código en:
v-model="Boolean(myArray[item.code])"Recibí el error:
Las directivas 'v-model' requieren el valor del atributo que es válido como LHS
¿Como puedó resolver esté problema?
Probar Boolean(myArray[item.code]) no funcionará de todos modos porque la cadena 'false' es true . Entonces Boolean('false') devuelve true .
En su lugar, deberías hacer myArray[item.code] !== 'false'
'false' devolverá false y cualquier otra cadena que no sea falsa devolverá true
EDITAR: debe cambiar myArray a una matriz de valores booleanos como ese
myArray.map((element) => element !== 'false')Entonces este código funcionará
<template v-for="(item, index) in myFields"> <v-checkbox v-model="myArray[item.code]" :label="item.name" /> </template>