vue willtable
1.0.0
Documento em inglês
Componente de tabela editável adequado para Vue, suporta múltiplas operações de teclas de atalho e simula a experiência operacional do Excel
Demonstração aqui: https://demo.willwuwei.com/willtable/
Um sistema de compartilhamento e edição de formulários em tempo real para várias pessoas implementado com base neste componente:
Visitar URL
Endereço do projeto front-end
Endereço do projeto de back-end
npm install vue-willtable --save
import Vue from 'vue'
import VueWilltable from 'vue-willtable'
// require styles
import 'vue-willtable/dist/vue-willtable.min.css'
Vue . component ( 'VueWilltable' , VueWilltable )
import VueWilltable from 'vue-willtable'
// require styles
import 'vue-willtable/dist/vue-willtable.min.css'
export default {
components : {
VueWilltable
}
}
< template >
< willtable
ref = " willtable "
:columns = " columns "
v-model = " data "
maxHeight = " 800 " />
</ template >
< script >
export default {
data () {
return {
columns : [
{
type : ' selection ' ,
width : 40 ,
fixed : true ,
},
{
title : '序号' ,
key : ' sid ' ,
fixed : true ,
type : ' number ' ,
width : 100 ,
},
{
title : '姓名' ,
key : ' name ' ,
fixed : true ,
width : 120 ,
},
{
title : '日期' ,
key : ' date ' ,
type : ' date ' ,
width : 100 ,
},
{
title : '工作岗位' ,
key : ' email ' ,
width : 300 ,
type : ' select ' ,
options : [
{
value : ' Web前端开发' ,
label : ' Web前端开发' ,
},
{
value : ' Java开发' ,
label : ' Java开发' ,
},
{
value : ' Python开发' ,
label : ' Python开发' ,
},
{
value : ' Php开发' ,
label : ' Php开发' ,
},
],
},
{
title : '月份' ,
key : ' month ' ,
type : ' month ' ,
width : 100 ,
},
{
title : '地址' ,
key : ' address ' ,
width : 200 ,
},
{
title : '标题' ,
key : ' title ' ,
width : 300 ,
},
{
title : '内容' ,
key : ' paragraph ' ,
width : 300 ,
},
{
title : '链接' ,
key : ' url ' ,
width : 200 ,
},
{
title : ' ip ' ,
key : ' ip ' ,
width : 200 ,
validate : ( value ) => {
const pattern = / ((2(5 [ 0-5 ] | [ 0-4 ] d )) | [ 0-1 ] ? d {1,2} )( . ((2(5 [ 0-5 ] | [ 0-4 ] d )) | [ 0-1 ] ? d {1,2} )) {3} / g ;
return pattern . test (value);
},
},
{
title : '总金额' ,
key : ' sum ' ,
width : 200 ,
},
{
title : ' ID ' ,
key : ' id ' ,
width : 200 ,
},
{
title : '色值' ,
key : ' color ' ,
width : 200 ,
},
],
data : [],
},
},
mounted () {
this . getData ();
},
methods : {
getData () {
const data = [];
this . $refs . willtable . setData (data);
},
},
};
</ script >
this.$refs.willtable chama o método setData para atualizar todos os dados da tabela e redefinir os registros de dados históricos.
this.$refs.willtable chama o método getData para obter todos os dados da tabela.
v-model
vincula valores
parâmetro | ilustrar | tipo | Valor opcional | valor padrão |
---|---|---|---|---|
colunas | Descrição da configuração das colunas da tabela | Variedade | —— | [] |
altura máxima | altura máxima da mesa | string/número | —— | —— |
altura da linha | altura de cada linha | string/número | —— | —— |
desabilitado | Edição proibida | Booleano | —— | verdadeiro |
showIcon | Mostrar ícone de tipo de cabeçalho | Booleano | —— | falso |
estilo de célula | Método de retorno de chamada de estilo de célula | Função({linha, coluna, rowIndex, columnIndex}) | —— | —— |
célulaClassName | O método de retorno de chamada do className da célula | Função({linha, coluna, rowIndex, columnIndex}) | —— | —— |
desativadoCélula | Desativar células | Função({linha, coluna, rowIndex, columnIndex}) => Boolean | —— | () => falso |
mostrarAddRow | Mostrar função adicionar linha | Booleano | —— | falso |
addRowAndCopy | Copie a linha de dados anterior ao adicionar uma linha | Booleano | —— | falso |
nome do evento | ilustrar | parâmetros de retorno de chamada |
---|---|---|
mudança de seleção | Este evento é acionado quando a seleção muda | seleção |
nome do método | ilustrar | parâmetro |
---|---|---|
obter dados | Usado para obter dados e retornar os dados atuais da tabela | —— |
definir dados | Usado para definir dados e redefinir o histórico | dados |
getChangeData | Obtenha linhas de dados alteradas | —— |
getErrorRows | Obtenha dados e índice com erros de verificação | —— |
adicionarItem | Adicione uma linha de dados na parte inferior | item |
adicionarRow | Adicionar linha | rowIndex, copyRow, dados personalizados |
remover itens | Para exclusão em lote, a chave do parâmetro é o atributo de identificação exclusivo de cada linha, como id, e os valores são uma matriz de atributos de identificação. | chave, valor |
setCellData | Definir dados da célula | rowIndex, colunaIndex, valor |
tela cheia | Exibição em tela cheia | —— |
sair em tela cheia | Sair da tela inteira | —— |
parâmetro | ilustrar | tipo | Valor opcional | valor padrão |
---|---|---|---|---|
chave | O nome do campo correspondente ao conteúdo da coluna | Corda | —— | —— |
título | Texto de exibição do cabeçalho da coluna | Corda | —— | —— |
largura | largura da coluna | String/Número | —— | —— |
tipo | Tipo de coluna | Corda | seleção/número/data/seleção/mês | —— |
formatar | Formato de mil sinais (para tipo de número) | Booleano | —— | verdadeiro |
opções | selecione a opção suspensa | Variedade | { valor: 'valor', rótulo: 'texto de exibição' } | —— |
fixo | É fixo no lado esquerdo? | Booleano | —— | falso |
Ação | Se deve ativar a filtragem e a classificação | Booleano | —— | falso |
desabilitado | Se deve proibir a edição | Booleano | —— | falso |
nãoVerificar | Se deseja desativar a verificação | Booleano | —— | falso |
validar | Verificação personalizada | Função (valor) | —— | —— |
entrada personalizada | entrada personalizada | Função({linha, coluna, rowIndex, columnIndex, valor }) | —— | —— |
tecla de atalho | ilustrar |
---|---|
Teclas de seta | Mover caixa de edição |
Ctrl + C | Colar |
Ctrl+V | cópia |
Ctrl+A | Selecione todas as células |
Ctrl+Z | Cancelar |
Ctrl+Y | refazer |
Digitar | Edição de células/Edição completa de células |
Excluir, Backspace | excluir |
WillWu