diff --git a/cutejava-front/src/views/components/advanced/CuteEditTable.vue b/cutejava-front/src/views/components/advanced/CuteEditTable.vue
index 2ab77ec2..e07fca62 100644
--- a/cutejava-front/src/views/components/advanced/CuteEditTable.vue
+++ b/cutejava-front/src/views/components/advanced/CuteEditTable.vue
@@ -20,13 +20,14 @@
>
-
+
onRowChange(val, scope.$index, item.name)"
/>
onRowChange(val, scope.$index, item.name)"
>
-
- 删除
- 上移
-
- 下移
-
+
+ 删除
+ 上移
+ 下移
+ 置顶
@@ -128,16 +124,18 @@ export default {
dataSource[index][name] = val
this.dataSource = [...dataSource]
this.$emit('input', this.dataSource)
+ this.$emit('row-change', index, name, val)
},
/**
* 当删除按钮被点击
* @param index
*/
- onRowRemove(index) {
+ onRowDelete(index) {
const dataSource = this.dataSource
dataSource.splice(index, 1)
this.dataSource = [...dataSource]
this.$emit('input', this.dataSource)
+ this.$emit('row-delete', index)
},
/**
* 当上移按钮被点击
@@ -149,10 +147,12 @@ export default {
}
const dataSource = this.dataSource
const temp = dataSource[index]
- dataSource[index] = dataSource[index - 1]
- dataSource[index - 1] = temp
+ const newIndex = index - 1
+ dataSource[index] = dataSource[newIndex]
+ dataSource[newIndex] = temp
this.dataSource = [...dataSource]
this.$emit('input', this.dataSource)
+ this.$emit('row-up', index, newIndex, temp)
},
/**
* 当下移按钮被点击
@@ -164,10 +164,32 @@ export default {
}
const dataSource = this.dataSource
const temp = dataSource[index]
- dataSource[index] = dataSource[index + 1]
- dataSource[index + 1] = temp
+ const newIndex = index + 1
+ dataSource[index] = dataSource[newIndex]
+ dataSource[newIndex] = temp
this.dataSource = [...dataSource]
this.$emit('input', this.dataSource)
+ this.$emit('row-down', index, newIndex, temp)
+ },
+ /**
+ * 当置顶按钮被点击
+ * @param index
+ */
+ onRowForceUp(index) {
+ const dataSource = this.dataSource
+ // 校验是否为最后一行
+ if (index !== dataSource.length - 1) {
+ return
+ }
+ // 获取需要置顶的数据项
+ const targetRow = dataSource[index]
+ // 删除当前索引数据
+ dataSource.splice(index, 1)
+ // 插入到数据开头
+ dataSource.unshift(targetRow)
+ this.dataSource = [...dataSource]
+ this.$emit('input', this.dataSource)
+ this.$emit('row-force-up', targetRow)
},
/**
* 当添加数据按钮被点击
diff --git a/cutejava-front/src/views/componentsDemo/advanced/CuteEditTableDemo.vue b/cutejava-front/src/views/componentsDemo/advanced/CuteEditTableDemo.vue
index 875fd160..d25f7089 100644
--- a/cutejava-front/src/views/componentsDemo/advanced/CuteEditTableDemo.vue
+++ b/cutejava-front/src/views/componentsDemo/advanced/CuteEditTableDemo.vue
@@ -46,7 +46,7 @@ export default {
],
dataSource: [
{ id: 1, name: '小明', sex: 'mm', description: '小明牛P' },
- { id: 4, name: '小绿', sex: 'nn', description: '小绿牛P' },
+ { id: 4, name: '小绿', sex: 'nn', description: '小绿牛P', disabled: true },
{ id: 5, name: '小黄', sex: 'nn', description: '小黄牛P' },
{ id: 6, name: '小紫', sex: 'nn', description: '小紫牛P' },
{ id: 17, name: '小郑', sex: 'mm', description: '小郑牛P' },
@@ -66,7 +66,12 @@ export default {
{ name: 'value', remark: '绑定的值', type: 'array', defaultValue: '-', required: '否' },
{ name: 'primary-key', remark: '对象中的哪个字段设置为主键', type: 'string', defaultValue: 'id', required: '是' },
{ name: 'height', remark: '表格高度', type: 'number', defaultValue: 'height', required: '否' },
- { name: 'schema', remark: '表格定义', type: 'array', defaultValue: '[]', required: '是' }
+ { name: 'schema', remark: '表格定义', type: 'array', defaultValue: '[]', required: '是' },
+ { name: 'row-change', remark: '行数据发生改变的时候触发的回调', type: '(index, name, val) => {}', defaultValue: '-', required: '否' },
+ { name: 'row-delete', remark: '行被删除的时候触发的回调', type: '(index) => {}', defaultValue: '-', required: '否' },
+ { name: 'row-up', remark: '行被向上移动的时候触发的回调', type: '(index, newIndex, row) => {}', defaultValue: '-', required: '否' },
+ { name: 'row-down', remark: '行被向下移动的时候触发的回调', type: '(index, newIndex, row) => {}', defaultValue: '-', required: '否' },
+ { name: 'row-force-up', remark: '行被置顶的时候触发的回调', type: '(row) => {}', defaultValue: '-', required: '否' }
],
schemaData: [
{ name: 'name', remark: '表单项名称', type: 'string', defaultValue: '-', required: '是' },
diff --git a/cutejava-front/src/views/componentsDemo/dev/CuteTransferDemo.vue b/cutejava-front/src/views/componentsDemo/dev/CuteTransferDemo.vue
index 027c5d3f..a8e5147a 100644
--- a/cutejava-front/src/views/componentsDemo/dev/CuteTransferDemo.vue
+++ b/cutejava-front/src/views/componentsDemo/dev/CuteTransferDemo.vue
@@ -60,7 +60,7 @@ export default {
{ name: 'dataSource', remark: '左侧表格数据', type: 'array', defaultValue: '[]', required: '是' },
{ name: 'primary-key', remark: '取对象的哪个值作为value', type: 'string', defaultValue: 'id', required: '否' },
{ name: 'loading', remark: '是否加载中', type: 'boolean', defaultValue: 'false', required: '是' },
- { name: 'change', remark: '右侧已选值发生改变的时候触发的回调', type: '(value) => {}', defaultValue: '-', required: '否' }
+ { name: 'change', remark: '右侧数据源发生改变的时候触发的回调', type: '(value) => {}', defaultValue: '-', required: '否' }
]
}
}