From 52d3c46da2831b8b6da73c9c275f3006c084ae3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=98=8A=E7=BF=94?= <673686754@qq.com> Date: Mon, 24 Dec 2018 14:03:12 +0800 Subject: [PATCH] demo16 Former-commit-id: db05786be3e9ab66abe0b3b604d01562542cfacc [formerly db05786be3e9ab66abe0b3b604d01562542cfacc [formerly db05786be3e9ab66abe0b3b604d01562542cfacc [formerly db05786be3e9ab66abe0b3b604d01562542cfacc [formerly 2acd0640d624075a9ddc5f9a86ee5adec2b88bc0 [formerly f87fab303d38481b3aa9a8dfda9f727d4bc25904]]]]] Former-commit-id: 7030151b1f70b55f37114edc200cf3552469d190 Former-commit-id: 1b25ebdf8718b92e2b76e2d20fc75cbd79b6b9b4 Former-commit-id: 8e0c4a7c70905f515f10b7ad17077e42dbce7e4a [formerly d576cf89831968e4b6d972279add9a571f934c7c] Former-commit-id: 9508887808bd8d888911e5b801180124bad7d072 Former-commit-id: 83245f1c040f9fdaee900aee9a08efd9e40c1f8d Former-commit-id: 65380a255ed238316df9da4ec1865eaeea4ffee1 Former-commit-id: ef70b25a26296e2d17945d77175934a4e1e9e94d Former-commit-id: 40cd5c6889f026242af0508bd051d138d7d973d8 --- src/pages/demo/d2-crud/demo16/code.js | 41 +++++++++++++++++++------ src/pages/demo/d2-crud/demo16/doc.md | 2 +- src/pages/demo/d2-crud/demo16/index.vue | 38 +++++++++++++++++------ 3 files changed, 62 insertions(+), 19 deletions(-) diff --git a/src/pages/demo/d2-crud/demo16/code.js b/src/pages/demo/d2-crud/demo16/code.js index 61118115..d8904f76 100644 --- a/src/pages/demo/d2-crud/demo16/code.js +++ b/src/pages/demo/d2-crud/demo16/code.js @@ -1,15 +1,16 @@ export default ` @@ -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 @@ + 新增 + 使用自定义模板新增 @@ -70,11 +70,7 @@ export default { address: '上海市普陀区金沙江路 1516 弄' } ], - addButton: { - icon: 'el-icon-plus', - size: 'small' - }, - formTemplate: { + addTemplate: { date: { title: '日期', value: '2016-05-05' @@ -96,6 +92,30 @@ 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(() => {