Table

Visualiza múltiples datos con un formato similar. Puede ordenar, filtrar y comparar sus datos en la tabla.

TIP

Este componente requiere el envoltorio <client-only></client-only> cuando se utiliza en SSR (por ejemplo: Nuxt) y SSG (por ejemplo: VitePress).

Tabla básica

La tabla básica es solo para mostrar datos.

Tabla con franjas

La tabla con franjas hace más fácil distinguir filas diferentes.

Tabla con bordes

Tabla con estados

Puede destacar el contenido de la tabla para distinguir entre "success, information, warning, danger" y otros estados.

Tabla con cabecera fija

Cuando hay demasiadas filas, puede usar una cabecera fija.

Tabla con columnas fijas

Cuando se tienen demasiadas columnas, puede fijar algunas de ellas.

Tabla con columnas y cabecera fija

Cuando tiene grandes cantidades de datos para colocar en una tabla, puede fijar la cabecera y columnas al mismo tiempo.

Tabla de altura fluida con cabecera fija (y columnas)

Cuando los datos se cambian dinámicamente, tal vez desee que la tabla tenga una altura máxima en lugar de una altura fija y que muestre la barra de desplazamiento si es necesario.

Agrupando cabeceras de la tabla

Cuando la estructura de datos es compleja, puede usar la cabecera de grupo para mostrar la jerarquía de datos.

Tabla con cabecera de grupo fija

se puede usar la cabecera de grupo fija

Selección simple

La selección de una sola fila es posible.

Selección multiple

También puede seleccionar múltiples filas.

Ordenar

Ordenar los datos para encontrar o comparar información rápidamente.

Filtros

Filtra la tabla para encontrar la información que necesita.

Plantilla de columna personalizada

Personalice la columna de la tabla para que pueda integrarse con otros componentes.

Tabla con cabecera personalizada

Se puede personalizar el encabezado de la tabla para que se pueda adaptar aún más.

Filas expandibles

Cuando el contenido de la fila es demasiado largo y no quiere mostrar la barra de desplazamiento horizontal, puede usar la función de fila expandible.

Datos con estructura de árbol y modo perezoso

Fila resumen

Para una tabla de números, puede agregar una fila extra en el pie de página de la tabla que muestra la suma de cada columna.

Rowspan and colspan

Configure rowspan y colspan para combinar las celdas

Índice personalizado

Puede personalizar el índice de la fila con la propiedad type=index de las columnas.

Disposición de la tabla

La propiedad table-layout establece el algoritmo usado para exponer celdas de tablas, filas y columnas.

Table API

Atributos de la tabla

NombreDescripciónTipoDefault
datatable dataobject[]
heighttable's height. Por defecto tiene una altura auto. Si este valor es un número, la altura es medido en pixeles; si este valor es una cadena, se asigna ese valor al style.height de la tabla, la altura es afectada por estilos externosstring / number
max-heighttable's max-height. The legal value is a number or the height in pxstring / number
stripeespecifica si la tabla se mostrara con franjasbooleanfalse
borderespecifica si la tabla tiene bordes verticalesbooleanfalse
sizetamaño de la tablaenum
fitespecifica si el ancho de la columna se adapta automáticamente a su contenedorbooleantrue
show-headerespecifica si la cabecera de la tabla es visiblebooleantrue
highlight-current-rowespecifica si la fila actual estara resaltadabooleanfalse
current-row-keyclave de la fila actual, un ajuste unicamente de propstring / number
row-class-namefunción que devuelve nombres de clases personalizadas para las filas, o una cadena asignando el nombre de clase para cada filaFunction / string
row-stylefunción que devuelve el estilo personalizado para cada fila, o un objeto asignando el estilo personalizado para todas las filasFunction / object
cell-class-namefunción que devuelve nombres de clases personalizadas para las celdas, o una cadena asignando el nombre de clase para cada celdaFunction / string
cell-stylefunción que devuelve estilos personalizados para cada celda, o un objeto asignado el estilo personalizado para todas las celdasFunction / object
header-row-class-namefunción que devuelve nombre de clases personalizadas para cada fila en la cabecera de la tabla, o una cadena asignando nombre de clase para todas las filas en la cabecera de la tablaFunction / string
header-row-stylefunción que devuelve estilos personalizados para cada una de las filas en la cabecera de la tabla, o un objeto asignando el estilo personalizado para todas las filas en la cabecera de la tablaFunction / object
header-cell-class-namefunción que devuelve nombres de clases personalizada para cada celda en la cabecera de la tabla, o una cadena asignando el nombre de clase para todas las celda en la cabecera de la tablaFunction / string
header-cell-stylefunción que devuelve estilos personalizados para cada celda en la cabecera de la tabla, o un objeto asignando el estilo personalizado para todas las celdas en la cabecera de la tablaFunction / object
row-keykey de los datos de las filas, utilizada para optimizar el renderizado. Requerido si reserve-selection está activada o muestra los datos con formato de árbol. When its type is String, multi-level access is supported, e.g. user.info.id, but user.info[0].id is not supported, in which case Function should be usedfunction / string
empty-textdisplayed text when data is empty. Puede personalizar esta área con #emptystringSin Datos
default-expand-allespecifica si todas las filas se expanden por defecto, solo funciona cuando la tabla tiene una columna type="expand" o contiene datos de estructura de árbolbooleanfalse
expand-row-keysestablece las filas expandidas a través de esta propiedad, este valor es la clave de filas expandidas, debería establecer row-key antes de usar esta propiedadobject
default-sortestablece la columna y orden por defecto. la propiedad prop es utilizada para establecer la columna de ordenamiento por defecto, la propiedad order es utilizada para definir el tipo de orden por defectoobjectif prop is set, and order is not set, then order is default to ascending
tooltip-effectel effect del tooltip por desbordamientoenumdark
tooltip-options 2.2.28las opciones para el tooltip de desbordamiento, vea el componente de tooltipobjectobject
show-summaryespecífica si debe mostrar la fila de resumenbooleanfalse
sum-texttexto a mostrar para la primer columna de la fila de resumenstringSum
summary-methodmétodo personalizado para resumenFunction
span-methodmétodo que devuelve rowspan y colspanFunction
select-on-indeterminatecontrola el comportamiento del checkbox maestro en tablas de selección múltiple cuando solo se seleccionan algunas filas (pero no todas). If true, all rows will be selected, else deselectedbooleantrue
indentindentación horizontal de los datos en el formato de estructura de árbolnumber16
lazysi se realiza una carga perezosa de los datosbooleanfalse
loadmétodo para cargar datos de filas hijas, solo funciona cuando lazy es trueFunction
tree-propsconfiguración para renderizar datos anidadosobjectobject
table-layoutsets the algorithm used to lay out table cells, rows, and columnsenumfixed
scrollbar-always-onsi mostrar siempre la barra de desplazamientobooleanfalse
show-overflow-tooltipwhether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns, refer to table tooltip-optionsboolean / object 2.3.7
flexible 2.2.1ensure main axis minimum-size doesn't follow the contentbooleanfalse

Eventos de la tabla

NombreDescripciónTipo
selectse dispara cuando el usuario hace clic al checkbox (caja de selección) en una filaFunction
select-allse dispara cando el usuario hace clic al checkbox (caja de selección) en la cabecera de la tablaFunction
selection-changese dispara cuando la selección cambiaFunction
cell-mouse-enterse dispara cuando el ratón se desplaza dentro de una celdaFunction
cell-mouse-leavese dispara cuando el ratón se desplaza fuera de una celdaFunction
cell-clickse dispara cuando se hace clic en una celdaFunction
cell-dblclickse dispara cuando se hace doble clic en una celdaFunction
cell-contextmenuse dispara cuando el usuario hace clic derecho en una celdaFunction
row-clickse dispara cuando se hace clic en una filaFunction
row-contextmenuse dispara cuando el usuario hace clic derecho en una filaFunction
row-dblclickse dispara cuando se hace doble clic en una filaFunction
header-clickse dispara cuando se hace clic en una cabecera de columnaFunction
header-contextmenuse dispara cuando el usuario hace clic derecho en una cabecera de columnaFunction
sort-changese dispara cuando el orden de la tabla cambiaFunction
filter-changecolumn's key. Si necesitas utilizar el evento filter-change, este atributo es obligatorio para identificar cuál columna está siendo filtradaFunction
current-changese dispara cuando la fila actual cambiaFunction
header-dragendse dispara después de modificar el ancho de una columna arrastrando el borde de la cabeceraFunction
expand-changese activa cuando el usuario expande o colapsa una fila (para la tabla expansible, el segundo parámetro es expandedRows; para la tabla de árbol, el segundo parámetro es expanded)Function

Slots de la tabla

NombreDescripciónSubetiquetas
defaultpersonalizar contenido por defectoTable-column
appendContenidos a insertarse después de la última fila. Es posible que necesite este espacio si desea implementar scroll infinito para la tabla. Este slot se mostrará por encima de la fila de resumen si la hay.
emptypuedes personalizar el contenido cuando los datos están vacíos.

Table Exposes

MétodoDescripciónType
clearSelectionutilizado en selección múltiple de la tabla, limpia lo seleccionadoFunction
getSelectionRowsdevuelve las filas seleccionadasFunction
toggleRowSelectionusado en la tabla de selección múltiple, conmuta si se selecciona una fila determinada. Con el segundo parámetro, puede establecer directamente si esta fila está seleccionadaFunction
toggleAllSelectionusado en la tabla de selección múltiple, alterna seleccionar todas o anular todasFunction
toggleRowExpansionutilizado en la tabla expandible o en la tabla de árbol, conmuta si se expande una determinada fila. Con el segundo parámetro, puede establecer directamente si este registro se expande o colapsaFunction
setCurrentRowutilizado en tabla con selección sencilla, establece una cierta fila como seleccionada. If called without any parameter, it will clear selectionFunction
clearSortborra el orden, restaurando los datos al orden originalFunction
clearFilterlimpia los filtros de las columnas cuyas columnKey han sido pasadas. Si no hay parámetros, borrar todos los filtrosFunction
doLayoutactualizar el diseño de la tabla. Cuando la visibilidad de la tabla cambia, puede necesitar llamar a este método para obtener un diseño correctoFunction
sortordena la tabla manualmente. La propiedad prop se utiliza para establecer la columna de ordenación, la propiedad order se utiliza para establecer el ordenFunction
scrollTodesplaza a un conjunto particular de coordenadasFunction
setScrollTopfija posición de desplazamiento verticalFunction
setScrollLeftfija posición de desplazamiento horizontalFunction

Table-column API

Atributos del Table-column

NombreDescripciónTypePor defecto
typetipo de columna. Si se establece a selection, la columna puede mostrar un checkbox. Si se establece a index, la columna puede mostrar el índice de la fila (iniciando desde 1). If set to expand, the column will display expand iconenumdefault
indexpersonaliza los índices para cada fila, funciona en columnas con type=indexnumber / Function
labeletiqueta de la columnastring
column-keyclave de la columna. Si necesita utilizar el evento filter-change, se usara este atributo para identificar que columna está siendo filtradastring
propnombre del campo. También puede usar su alias: propertystring
widthancho de la columnastring / number''
min-widthancho mínimo de la columna. Columnas con width tienen un ancho fijo, mientras que las columnas con min-width tienen un ancho que se distribuye en proporciónstring / number''
fixedespecífica si la columna se fija a la izquierda o a la derecha. Se fijará a la izquierda si es trueenum / booleanfalse
render-headerfunción de renderizado para la cabecera de la tabla de esta columnaFunction
sortablesi la columna puede ser ordenada. La ordenación remota se puede hacer estableciendo este atributo a 'custom' y escuchando el evento sort-change de la tablaboolean / stringfalse
sort-methodmétodo para ordenar, funciona cuando sortable está en true. Debería devolver un número, al igual que Array.sortFunction
sort-byespecifica cuál es la propiedad por la cual se va a ordenar, funciona cuando sortable es true y sort-method es undefined. Si se establece a un arreglo, la columna ordenara secuencialmente por la siguiente propiedad si la anterior es igualFunction / string / object
sort-ordersla estrategia para ordenar los datos, funciona cuando sortable es true. Acepta un arreglo, a medida que el usuario hace clic en el encabezado, la columna se ordena siguiendo la secuencia de los elementos del arregloobject['ascending', 'descending', null]
resizablesi el ancho de la columna puede ser redimensionado, funciona cuando border de el-table está en truebooleantrue
formatterfunción que da formato al contenido de la celdafunction
show-overflow-tooltipsi oculta contenido extra y lo muestra en un tooltip al pasar el cursor sobre la celdaboolean / object 2.2.28undefined
alignalineaciónenumleft
header-alignalineación de la cabecera de la tabla. Si se omite, se aplicará el valor del atributo anterior: alignenumleft
class-namenombre de la clase Css de la celda en la columnastring
label-class-namenombre de la clase Css de la etiqueta de esta columnastring
selectablefunción que determina si una cierta fila puede ser seleccionada, funciona cuando type está en selectionFunction
reserve-selectionespecífica si se reserva la selección después de actualizar los datos, funciona cuando type está en selection. Note que row-key es requerido para que esto funcionebooleanfalse
filtersun arreglo de opciones para filtrado de datos. Para cada elemento en este arreglo, text y value son obligatoriosobject
filter-placementubicación del menú desplegable de filtrosenum
filter-class-name 2.5.0className for the filter dropdownstring
filter-multiplesi el filtrado de datos soporta múltiples opcionesbooleantrue
filter-methodmétodo para filtrado de datos. Si filter-multiple está activado, este método será llamado varias veces por cada fila, y se mostrará la fila si la llamada devuelve truefunction
filtered-valueel valor del filtro para los datos seleccionados, puede ser útil cuando el encabezado de la tabla es renderizado con render-headerobject

Slots de Table-column

NombreDescripciónType
defaultCustom content for table columnsobject
headerCustom content for table headerobject

Type Declarations

Show declarations
interface Sort {
  prop: string
  order: 'ascending' | 'descending'
  init?: any
  silent?: any
}

interface TreeNode {
  expanded?: boolean
  loading?: boolean
  noLazyChildren?: boolean
  indent?: number
  level?: number
  display?: boolean
}

FAQ

¿Cómo usar la vista previa de la imagen en la tabla?

<el-table-column label="Thumbnail" width="180">
    <template #default="scope">
        <div style="display: flex; align-items: center">
            <el-image :preview-src-list="srcList"/>
        </div>
    </template>
</el-table-column>

PS: puesto que la columna fija está implementada por sticky, cuando tiene columnas fijas en la tabla, agregue el atributo preview-teleported en la imagen

¿Por qué la columna no se procesa cuando se usan plantillas DOM?

Typical issue: #5046 #5862 #6919

Esto se debe a que la especificación HTML solo permite que algunos elementos específicos omitan las etiquetas de cierre, los más comunes son <input> y <img>. Para todos los demás elementos, si omite la etiqueta de cierre, el analizador nativo HTML pensará que nunca terminó la etiqueta de apertura

For more details please refer to vue docs

Fuente

ComponentesDocumentación

Contribuidores