my-crud adalah komponen tabel vue yang dimodifikasi berdasarkan D2-Crud. Ini berisi bentuk penambahan, penghapusan, dan modifikasi sederhana, dan menambahkan beberapa fungsi dari versi aslinya.
Gunakan npm
npm i element-ui my-element-crud -S
Tulis konten berikut di main.js
:
import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import D2Crud from 'my-element-crud'
Vue . use ( ElementUI )
Vue . use ( D2Crud )
new Vue ( {
el : '#app' ,
render : h => h ( App )
} )
Anda kemudian dapat menggunakan D2-Crud
di proyek Anda.
eksternal: D2Crud
https://cdn.d2.pub/packages/@d2-projects/[email protected]/d2-crud.js
custom: [
{
text : '更多' ,
type : 'text' ,
// size: 'small',
sort : 8 ,
emit : 'custom-edit' ,
show : ( index , row ) => true ,
more : [
{
text : '!!!!!' ,
emit : 'custom-pop' ,
show : ( index , row ) => true
}
]
}
]
mycom2 : {
title : "自带选择框" ,
value : "" ,
_sort : 4 ,
component : {
name : "el-select" ,
options : [
{ label : "测试1" , value : 1 } ,
{ label : "测试2" , value : 2 } ,
] ,
// 事件绑定
'@change' : ( e ) => {
console . log ( this . rowHandle ) ;
} ,
// 属性绑定
':size' : 'mini'
} ,
} ,
Selesaikan masalah yang menyebabkan peristiwa perubahan data formulir pada kotak pilihan bawaan tidak dapat diteruskan dengan benar ke komponen induk
Tambahkan tombol tampilan khusus
Tambahkan fungsi tampilan, elemen dinonaktifkan secara default saat melihat
Komponen khusus yang dinonaktifkan perlu menambahkan dinonaktifkan: Boolean di props. Tulis atribut komponen: :disabled="disabled"
menggunakan:
< d2-crud v-bind : look-template = "addTemplate" > </ d2-crud >
rowHandle: {
look : {
text : "查看" ,
emit : "lookHandle"
} ,
}
Tambahkan fungsi penyortiran tombol khusus
menggunakan:
rowHandle: {
minWidth : "180px" ,
look : {
text : "查看" ,
emit : "lookHandle" ,
sort : 3
} ,
customs : [ {
text : '打卡记录' ,
emit : 'showRecord' ,
sort : 2
} ] ,
edit : {
text : "编辑" ,
emit : "editHandle" ,
type : "warning " ,
sort : 1
} ,
}
rowHandle: {
lookNoEle : {
text : "查看" ,
emit : "lookHandle"
} ,
}
mycom : {
title : "选择框" ,
value : "" ,
component : {
name : testCom ,
formatter ( val ) {
return val === 1 ? "测试1" : "测试2" ;
} ,
props : {
options : [
{ label : "测试1" , value : 1 } ,
{ label : "测试2" , value : 2 }
]
}
}
} ,
roleName : {
title : "角色名" ,
value : "" ,
class : "my_label" ,
component : {
placeholder : " 仅可输入英文大小写、数字"
}
} ,
-- Tambahkan tampilan dinamis dan formulir formulir tersembunyi
roleName : {
title : "角色名" ,
value : "" ,
class : "my_label" ,
component : {
show : this . show === 1
placeholder : " 仅可输入英文大小写、数字"
}
} ,
Atur lebar dialog formulir: add-width="400px" :edit-width="400px"
=======
komponen induk
< d2-crud
@componentEvent:coma =" handle " >
</ d2-crud >
computed : {
addTemplate ( ) {
return {
coma : {
title : "自定义选择框a" ,
value : "" ,
component : {
name : coma ,
} ,
} ,
comb : {
title : "自定义选择框b" ,
value : "" ,
component : {
name : comb ,
} ,
} ,
}
} ,
method : {
handle ( data ) {
this . $refs . d2Crud . getRef ( "comb" ) . handleComponentEvent ( data ) ;
} }
Komponen A
<template>
<div>
<el-button @click="up">up123</el-button>
</div>
</template>
up() {
this.$emit("componentEvent", 123);
}
Komponen B
methods: {
handleComponentEvent ( data ) {
this . data = data
}
}