1
0
mirror of https://github.com/PanJiaChen/vue-element-admin.git synced 2025-08-10 12:01:57 +08:00
Yamel Senih f45a57178a
Feature/#doc add documentation (#798)
* Add support to x vversion from npm

* Add support to x vversion from npm

* Add support to x vversion from npm

* Add documentation for current repository
2021-04-29 12:23:48 -04:00

109 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Tabla de Árbol
## Resumen
Este componente solo proporciona una solución para crear `TreeTable`. Se basa en el componente de tabla `element-ui`. Utiliza el método `row-style` de `el-table` para determinar si el elemento debe ocultarse o mostrarse.
Y este componente hace uso completo de las características (slot) de `vue` para que sea fácil de usar.
En `evel.js`, el método `addAttrs` agrega varias propiedades a los datos, y `treeTotable` aplana la matriz. Ninguna de estas operaciones destruirá los datos de origen, solo agregará propiedades.
## Propiedades
| Atributo | Descripción | Tipo | Predeterminado |
| :--------------: | :--------------------------------------------------------------- | :-----: | :------------: |
| data | datos de visualización originales | Array | [] |
| columns | atributo de columna | Array | [] |
| defaultExpandAll | si expandir todos los nodos por defecto | Boolean | false |
| defaultChildren | Especifique qué objeto de nodo se utiliza como subárbol del nodo | String | children |
| indent | Indentación horizontal de nodos en niveles adyacentes en píxeles | Number | 50 |
> Se admite cualquiera de las propiedades de `el-table`, como `border`, `fit`, `size` o `@select`, `@cell-click`. Consulta la documentación de ʻel-table` para más detalles.
---
### Ejemplo
```html
<tree-table :data="data" :columns="columns" border>
```
#### data(**Requerido**)
```js
const data = [
{
name:'1'
children: [
{
name: '1-1'
},
{
name: '1-2'
}
]
},
{
name: `2`
}
]
```
#### columns(**Requerido**)
- label: texto que se muestra en el encabezado
- key: data.key se mostrará en la columna
- expand: `true` o `false`
- checkbox: `true` o `false`
- width: ancho de columna, por ejemplo `200`
- align: alineación `left/center/right`
- header-align: alineación del encabezado de la tabla `left/center/right`
```javascript
const columns = [
{
label: 'Checkbox',
checkbox: true
},
{
label: '',
key: 'id',
expand: true
},
{
label: 'Event',
key: 'event',
width: 200,
align: 'left'
},
{
label: 'Scope',
key: 'scope'
}
]
```
> El componente de la tabla de árbol generará un slot con nombre basado en la propiedad key de las columnas. Si necesitas personalizar los datos de la columna, puedes hacerlo a través del slot.
```html
<template slot="your key" slot-scope="{scope}">
<el-tag>nivel: {{ scope.row._level }}</el-tag>
<el-tag>expandir: {{ scope.row._expand }}</el-tag>
<el-tag>seleccionar: {{ scope.row._select }}</el-tag>
</template>
```
## Eventos
Actualmente hay varios métodos disponibles, pero solo la versión `beta`, que probablemente se modifique más adelante.
```js
this.$refs.TreeTable.addChild(row, data) //Agregar elementos secundarios
this.$refs.TreeTable.addBrother(row, data) //Agregar un elemento hermano
this.$refs.TreeTable.delete(row) //Eliminar el elemento
```
## Otro
Si tienes otros requisitos, consulta la api [el-table](http://element-cn.eleme.io/#/en-US/component/table) para modificar el index.vue