Estoy usando vue 3 con quasar y haría un envoltorio para q-table, pero ¿cómo puedo definir filas sin usar any[].
Funciona así, pero cada vez que uso este componente tendré que convertir mi objeto en desconocido. ¿Hay alguna forma mejor? ¿O simplemente debería desactivar "no-explicit-any" y usar any[]?
<template> <div> <q-table :rows="rows" :columns="columns" /> </div> </template> <script lang="ts" setup> import { computed } from 'vue'; import { QTableProps } from 'node_modules/quasar/dist/types/index'; interface Props { columns?: QTableProps['columns']; rows?: unknown[]; } const props = withDefaults(defineProps<Props>(), { rows: undefined }); const rows = computed(() => props.rows) const columns = computed(() => props.columns) </script>QTable.rows espera una matriz de objetos que contenga claves de cadena y valores de cadena/número.
Por lo tanto, las rows deben escribirse como:
interface Props { columns?: QTableProps['columns']; rows?: Record<string, string | number>[]; 👈 }Notas al margen:
Especificar undefined como valor predeterminado es lo mismo que no especificar ningún valor predeterminado. Puede eliminar withDefaults() en su ejemplo.
Los accesorios calculados que simplemente devuelven los accesorios originales no tienen ningún efecto útil. Puede eliminar estos accesorios calculados y simplemente usar props.rows y props.columns directamente.