Merge branch 'develop'

Former-commit-id: 1564670d72f2cfe6dac21706d0d821a780436d86 [formerly 1564670d72f2cfe6dac21706d0d821a780436d86 [formerly 1564670d72f2cfe6dac21706d0d821a780436d86 [formerly 1564670d72f2cfe6dac21706d0d821a780436d86 [formerly 19cd21cdebe1823db143a9f5520d82a302316544 [formerly 56af30f145cd456e8db497ca9fa98bafa7714389]]]]]
Former-commit-id: 0c2c1d697e0cd531277c5f027f3cf04cd02f6eeb
Former-commit-id: 5acaf89f29738f7196cd64fd8b1b77e4511555cc
Former-commit-id: cd3150dc1a59311b731294f09618585e68500d5d [formerly 7aacab7a274cc8c539e4f3e8b5ddc24e4cdb833b]
Former-commit-id: 3c380d9229e02ee21b9039f316054410d43e04e8
Former-commit-id: 157520535bf6c04b245ee62f97a3b1d7828977fd
Former-commit-id: 8e3578265f5f2920aa3e6503b58e13e73aa55fca
Former-commit-id: d30b8f3de65e3bee674b015ad68037b5bbcae0eb
Former-commit-id: 9ce8e3feb922cec426915bd6c11f30b6d665f6c8
This commit is contained in:
孙昊翔
2018-11-28 18:01:39 +08:00
3 changed files with 38 additions and 16 deletions

View File

@@ -1 +1 @@
通过给 `D2 Crud` 传入 `add-mode` 可开启新增模式,需要传入 `form-template` 来为新增的表单添加模板,向`form-options` 中传入 `labelWidth``labelPosition` 来控制表单中label的显示, `saveLoading` 则控制保存按钮的loading状态`addButton` 可以控制表格顶部新增按钮的样式, `row-add` 事件控制数据新增,接收两个参数: `row` 是当前新增行的数据, `done` 用于控制保存成功,可以在 `done()` 之前加入自己的逻辑代码,`done()`可以传入包含表单字段的对象来覆盖提交的数据。代码如下:
通过给 `D2 Crud` 传入 `add-mode` 可开启新增模式,需要传入 `form-template` 来为新增的表单添加模板,向`form-options` 中传入 `labelWidth``labelPosition` 来控制表单中label的显示, `saveLoading` 则控制保存按钮的loading状态`addButton` 可以控制表格顶部新增按钮的样式, `row-add` 事件控制数据新增,接收两个参数: `row` 是当前新增行的数据, `done` 用于控制保存成功,可以在 `done()` 之前加入自己的逻辑代码,`done()`可以传入包含表单字段的对象来覆盖提交的数据`done(false)` 可以取消新增。代码如下:

View File

@@ -1 +1 @@
通过给 `D2 Crud` 传入 `rowHandle` 可开启表格操作列,传入 `columnHeader` 可以自定义操作列的表头,传入 `edit` 对象可以开启编辑模式,需要传入 `form-template` 来为编辑添加模板,向`form-options` 中传入 `labelWidth``labelPosition` 来控制表单中label的显示, `saveLoading` 则控制保存按钮的loading状态 `row-edit` 事件控制数据编辑,参数: `index` 是当前编辑行的索引, `row` 是当前编辑行的数据, `done` 用于控制编辑成功,可以在 `done()` 之前加入自己的逻辑代码,`done()`可以传入包含表单字段的对象来覆盖提交的数据。代码如下:
通过给 `D2 Crud` 传入 `rowHandle` 可开启表格操作列,传入 `columnHeader` 可以自定义操作列的表头,传入 `edit` 对象可以开启编辑模式,需要传入 `form-template` 来为编辑添加模板,向`form-options` 中传入 `labelWidth``labelPosition` 来控制表单中label的显示, `saveLoading` 则控制保存按钮的loading状态 `row-edit` 事件控制数据编辑,参数: `index` 是当前编辑行的索引, `row` 是当前编辑行的数据, `done` 用于控制编辑成功,可以在 `done()` 之前加入自己的逻辑代码,`done()`可以传入包含表单字段的对象来覆盖提交的数据`done(false)` 可以取消编辑。代码如下:

View File

@@ -3,14 +3,16 @@
<template slot="header">这个页面会被 keep-alive</template>
<h2 class="d2-mt-0">编号{{id}}</h2>
<p class="d2-mt-0">在下面的输入框输入任意字符后切换到其它页面再回到此页时输入框文字保留证明被缓存</p>
<!-- 使用 el-input 会出现显示值与 v-model 不一致的情况解决问题前暂时使用 input -->
<el-input v-model="data.value" placeholder="input here" />
<input v-model="data.value" placeholder="input here" />
</d2-container>
</template>
<script>
const datas = {}
/**
* 带参路由多组参数使用同一个组件实例,需要在组件内部对多个参数的情况进行统一处理
* 这里简单演示如何根据 id 管理多组数据对象
*/
export default {
name: 'demo-playground-page-cache-params',
props: {
@@ -21,22 +23,42 @@ export default {
},
data () {
return {
filename: __filename
filename: __filename,
datas: [],
data: { value: '' }
}
},
computed: {
/**
* 带参路由多组参数使用同一个组件实例,需要在组件内部对多个参数的情况进行统一处理
* 这里简单演示如何根据 id 管理多组数据对象
*/
data: function () {
const id = this.id
let data = datas[id]
methods: {
switchData (id) {
let data = this.datas[id]
if (!data) {
data = { value: '' }
datas[id] = data
this.datas[id] = data
}
return data
this.data = data
}
},
// 第一次进入或从其他组件对应路由进入时触发
beforeRouteEnter (to, from, next) {
console.log('beforeRouteEnter => ', to)
const id = to.params.id
if (id) {
next(vm => {
vm.switchData(id)
})
} else {
next(new Error('未指定ID'))
}
},
// 在同一组件对应的多个路由间切换时触发
beforeRouteUpdate (to, from, next) {
console.log('beforeRouteUpdate => ', to)
const id = to.params.id
if (id) {
this.switchData(id)
next()
} else {
next(new Error('未指定ID'))
}
}
}