+ @dialog-cancel="handleDialogCancel">
+ 新增
+ 使用自定义模板新增
+
@@ -53,11 +54,7 @@ export default {
address: '上海市普陀区金沙江路 1516 弄'
}
],
- addButton: {
- icon: 'el-icon-plus',
- size: 'small'
- },
- formTemplate: {
+ addTemplate: {
date: {
title: '日期',
value: '2016-05-05'
@@ -79,6 +76,32 @@ export default {
}
},
methods: {
+ // 普通的新增
+ addRow () {
+ this.$refs.d2Crud.showDialog({
+ mode: 'add'
+ })
+ },
+ // 传入自定义模板的新增
+ addRowWithNewTemplate () {
+ this.$refs.d2Crud.showDialog({
+ mode: 'add',
+ template: {
+ name: {
+ title: '姓名',
+ value: ''
+ },
+ value1: {
+ title: '新属性1',
+ value: ''
+ },
+ value2: {
+ title: '新属性2',
+ value: ''
+ }
+ }
+ })
+ },
handleRowAdd (row, done) {
this.formOptions.saveLoading = true
setTimeout(() => {
diff --git a/src/pages/demo/d2-crud/demo16/doc.md b/src/pages/demo/d2-crud/demo16/doc.md
index 6e1e63ea..d2bc3ee5 100644
--- a/src/pages/demo/d2-crud/demo16/doc.md
+++ b/src/pages/demo/d2-crud/demo16/doc.md
@@ -1 +1 @@
-通过给 `D2 Crud` 传入 `add-mode` 可开启新增模式,需要传入 `form-template` 来为新增的表单添加模板,向`form-options` 中传入 `labelWidth` 和 `labelPosition` 来控制表单中label的显示, `saveLoading` 则控制保存按钮的loading状态,`addButton` 可以控制表格顶部新增按钮的样式, `row-add` 事件控制数据新增,接收两个参数: `row` 是当前新增行的数据, `done` 用于控制保存成功,可以在 `done()` 之前加入自己的逻辑代码,`done()`可以传入包含表单字段的对象来覆盖提交的数据,`done(false)` 可以取消新增。代码如下:
+通过 `ref` 调用 `D2 Crud` 的 `showDialog` 方法,并传入 `mode: 'add'`属性,可开启新增模式,需要定义 `add-template` 来为新增的表单添加模板,也可以向 `showDialog` 中传入 `template`对象来灵活定义新的模板,向`form-options` 中传入 `labelWidth` 和 `labelPosition` 来控制表单中label的显示, `saveLoading` 则控制保存按钮的loading状态, `row-add` 事件控制数据新增,接收两个参数: `row` 是当前新增行的数据, `done` 用于控制保存成功,可以在 `done()` 之前加入自己的逻辑代码,`done()`可以传入包含表单字段的对象来覆盖提交的数据,`done(false)` 可以取消新增。代码如下:
diff --git a/src/pages/demo/d2-crud/demo16/index.vue b/src/pages/demo/d2-crud/demo16/index.vue
index a7858868..e1126c49 100644
--- a/src/pages/demo/d2-crud/demo16/index.vue
+++ b/src/pages/demo/d2-crud/demo16/index.vue
@@ -2,15 +2,15 @@