Intentar establecer un valor predeterminado en una entrada de selección simple con "seleccionado" no funciona.
Estoy creando un blog en Vue.js y las publicaciones del blog se pueden asignar a diferentes categorías. Sin embargo, al editar una publicación, quiero que la entrada de selección tenga un valor predeterminado si la publicación ya está dentro de una categoría. El pseudocódigo se vería así: "si categoría.id es igual a post.categoría.id".
Esta es mi entrada:
<label> <VeeValidateField name="post_category" as="select"> <option value="" disabled>Set to folder</option> <option value="0">none</option> <option v-for="category in categories" :key="category.id" :value="category.id" :selected="category.id === post.category.value" > {{ category.category_name }} </option> </VeeValidateField> </label>Aunque puede haber un valor predeterminado con una entrada de selección múltiple, ese no es mi caso de uso.
¿Es esto un error o estoy haciendo algo mal?
¡Gracias!
Resolví esto usando v-model y configurando el valor en data en la siguiente expresión:
data() { return { categoryValue: this.$props.login ? this.$props.login.login_category.value : "" } }y este es el marcado:
<label> <VeeValidateField v-model="categoryValue" name="login_category" as="select"> <option value="" disabled>Set to folder</option> <option value="0">none</option> <option v-for="category in categories" :key="category.id" :value="category.id"> {{ category.category_name }} </option> </VeeValidateField> </label> Entonces, cuando se evalúa la propiedad categoryValue , la entrada de selección obtiene un valor predeterminado o ninguno.