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(() => {