Former-commit-id: cc5732aeeb721f3bf7581205c36fe5b27e775cff Former-commit-id: 5e9dfbc070a2a537ec94b7789abceb75d1ed857a Former-commit-id: 409243f603d8331fe0a805175c74b64ea9fd1080 Former-commit-id: 201c6d8c8dcd43372d49bbe10e91da58a2dbc22d [formerly 9909b0c9852ad27ed965bcc136ec5fd44dc8bd50] Former-commit-id: 635beae98ee9cefe28abf1b56c1ba55810628950 Former-commit-id: ea5a88092a2fc79f7ea3c07f2a42023d3de3e616 Former-commit-id: 0d01f81d98fc0dd59187a956f1167cda0b8f6cc8 Former-commit-id: 9c7efafa956795f6e01d286a504153bf4ef9ac79 Former-commit-id: 41c35d27902acc65519845ef759a7367ab3b5d4d
164 lines
3.7 KiB
Vue
164 lines
3.7 KiB
Vue
<template>
|
||
<d2-container>
|
||
<template slot="header">表单自定义组件</template>
|
||
<d2-crud
|
||
ref="d2Crud"
|
||
:columns="columns"
|
||
:data="data"
|
||
:rowHandle="rowHandle"
|
||
:edit-template="editTemplate"
|
||
@d2-data-change="handleDataChange"
|
||
@row-edit="handleRowEdit"
|
||
@dialog-cancel="handleDialogCancel"/>
|
||
<el-card shadow="never" class="d2-mb">
|
||
<d2-markdown :source="doc"/>
|
||
</el-card>
|
||
<el-card shadow="never" class="d2-mb">
|
||
<h4>全局注册写法:</h4>
|
||
<d2-highlight :code="codeOverall"/>
|
||
</el-card>
|
||
<el-card shadow="never" class="d2-mb">
|
||
<h4>局部注册写法:</h4>
|
||
<d2-highlight :code="codePart"/>
|
||
</el-card>
|
||
<el-card shadow="never" class="d2-mb">
|
||
<h4>自定义组件 MyTag 代码:</h4>
|
||
<d2-highlight :code="codeComponent"/>
|
||
</el-card>
|
||
<d2-link-btn
|
||
slot="footer"
|
||
title="文档"
|
||
link="https://fairyever.com/d2-admin/doc//zh/ecosystem-d2-crud/"/>
|
||
</d2-container>
|
||
</template>
|
||
|
||
<script>
|
||
import doc from './doc.md'
|
||
import codeOverall from './codeOverall.js'
|
||
import codePart from './codePart.js'
|
||
import codeComponent from './codeComponent.js'
|
||
import MyTag from './MyTag'
|
||
|
||
export default {
|
||
components: {
|
||
MyTag
|
||
},
|
||
data () {
|
||
return {
|
||
doc,
|
||
codeOverall,
|
||
codePart,
|
||
codeComponent,
|
||
columns: [
|
||
{
|
||
title: '日期',
|
||
key: 'date',
|
||
width: '180'
|
||
},
|
||
{
|
||
title: '姓名',
|
||
key: 'name',
|
||
width: '180'
|
||
},
|
||
{
|
||
title: '地址',
|
||
key: 'address'
|
||
},
|
||
{
|
||
title: '检查状态(点击可修改)',
|
||
key: 'check',
|
||
component: {
|
||
name: MyTag
|
||
}
|
||
}
|
||
],
|
||
data: [
|
||
{
|
||
date: '2016-05-02',
|
||
name: '王小虎',
|
||
address: '上海市普陀区金沙江路 1518 弄',
|
||
check: true
|
||
},
|
||
{
|
||
date: '2016-05-04',
|
||
name: '王小虎',
|
||
address: '上海市普陀区金沙江路 1517 弄',
|
||
check: false
|
||
},
|
||
{
|
||
date: '2016-05-01',
|
||
name: '王小虎',
|
||
address: '上海市普陀区金沙江路 1519 弄',
|
||
check: true
|
||
},
|
||
{
|
||
date: '2016-05-03',
|
||
name: '王小虎',
|
||
address: '上海市普陀区金沙江路 1516 弄',
|
||
check: true
|
||
}
|
||
],
|
||
rowHandle: {
|
||
columnHeader: '编辑表格',
|
||
edit: {
|
||
icon: 'el-icon-edit',
|
||
text: '点我编辑自定义表单组件',
|
||
size: 'small'
|
||
}
|
||
},
|
||
editTemplate: {
|
||
date: {
|
||
title: '日期',
|
||
value: ''
|
||
},
|
||
name: {
|
||
title: '姓名',
|
||
value: ''
|
||
},
|
||
address: {
|
||
title: '地址',
|
||
value: ''
|
||
},
|
||
check: {
|
||
title: '检查状态(点击进行修改)',
|
||
value: false,
|
||
component: {
|
||
name: MyTag
|
||
}
|
||
}
|
||
},
|
||
formOptions: {
|
||
labelWidth: '80px',
|
||
labelPosition: 'left',
|
||
saveLoading: false
|
||
}
|
||
}
|
||
},
|
||
methods: {
|
||
handleDataChange (data) {
|
||
console.log(data)
|
||
},
|
||
handleRowEdit ({ index, row }, done) {
|
||
this.formOptions.saveLoading = true
|
||
setTimeout(() => {
|
||
console.log(index)
|
||
console.log(row)
|
||
this.$message({
|
||
message: '编辑成功',
|
||
type: 'success'
|
||
})
|
||
done()
|
||
this.formOptions.saveLoading = false
|
||
}, 300)
|
||
},
|
||
handleDialogCancel (done) {
|
||
this.$message({
|
||
message: '取消编辑',
|
||
type: 'warning'
|
||
})
|
||
done()
|
||
}
|
||
}
|
||
}
|
||
</script>
|