Hola, estoy usando la tabla Material para generar una vista de tabla, aquí definí las columnas:
const columns: TableColumn[] = [ { title: 'TYPE', field: 'type_of_action', highlight: true, }, { title: 'DESCRIPTION', field: 'description', }, { title: 'REFERENCE ID', field: 'reference_id' }, { title: 'ENVIRONMENT', field: 'environment' }, { title: 'SEVERITY', field: 'severity' }, { title: 'PRIORITY', field: 'priority' }, { title: 'ACTION', field: 'action', render: (rowData) => ( console.log(rowData.priority). <---- error ), } ];Usé render en las últimas columnas. pero vi un error en mi Intellij como:
TS2339: Property 'priority' does not exist on type '{}'.en realidad, mi código funciona y puedo ver rowData.priority impreso en mi consola.
Ahora rowData aquí es de type{} y no puedo reconocer la prioridad
Para resolver esto, necesito definirlo dentro de la etiqueta <MaterialTable> , de lo contrario, ¿no se pueden reconocer los campos?
Pero poner tantas líneas de códigos en la etiqueta se ve muy sucio. ¿Alguna forma de extraer la columna a una variable constante y evitar el error de tipo?
Una idea en mi mente es pasar la variable de columnas primero y manipular usando map , pero no estoy seguro de cómo hacer esto.
Intente agregar la propiedad de type a la definición de sus columnas cuando el tipo sea diferente a la string :
const columns: TableColumn[] = [ { title: 'PRIORITY', field: 'priority', type: 'number' } ] Los valores posibles son: 'boolean', 'numeric', 'date', 'datetime', 'time', 'currency' .
Puedes encontrar más detalles en este PR .