diff --git a/src/pages/demo/d2-crud/demo23/code.js b/src/pages/demo/d2-crud/demo23/code.js index b652cf79..d3ec2b8c 100644 --- a/src/pages/demo/d2-crud/demo23/code.js +++ b/src/pages/demo/d2-crud/demo23/code.js @@ -2,7 +2,8 @@ export default ` @@ -73,6 +74,14 @@ export default { } ] } + }, + methods: { + cellDataChange ({rowIndex, key, value, row}) { + console.log(rowIndex) + console.log(key) + console.log(value) + console.log(row) + } } } ` diff --git a/src/pages/demo/d2-crud/demo23/doc.md b/src/pages/demo/d2-crud/demo23/doc.md index 9199de3b..a850515e 100644 --- a/src/pages/demo/d2-crud/demo23/doc.md +++ b/src/pages/demo/d2-crud/demo23/doc.md @@ -1 +1 @@ -向 `columns` 的 `component` 对象传入 `name` 属性来控制渲染的组件,默认为 `el-input` ,支持的组件有 `el-input-number` `el-radio` `el-checkbox` `el-select` `el-cascader` `el-switch` `el-slider` `el-time-select` `el-time-picker` `el-date-picker` `el-rate` `el-color-picker` ,也可以使用 `render函数` 自己渲染组件,只需在 `component` 中传入 `renderFuntion` ,接收两个参数: `h`是render函数的固定参数, `scope` 是单元格中的数据,[render函数使用方法](https://cn.vuejs.org/v2/guide/render-function.html)。代码如下: +向 `columns` 的 `component` 对象传入 `name` 属性来控制渲染的组件,默认为 `el-input` ,支持的组件有 `el-input-number` `el-radio` `el-checkbox` `el-select` `el-cascader` `el-switch` `el-slider` `el-time-select` `el-time-picker` `el-date-picker` `el-rate` `el-color-picker` ,也可以使用 `render函数` 自己渲染组件,只需在 `component` 中传入 `renderFuntion` ,接收两个参数: `h`是render函数的固定参数, `scope` 是单元格中的数据,[render函数使用方法](https://cn.vuejs.org/v2/guide/render-function.html)。通过 `cell-data-change`事件可以监听单元格内的数据变化,监听在crud内部是通过change事件触发的(这意味着input类组件失去焦点才会触发事件,单纯输入不会触发),接收一个对象参数 `{rowIndex, key, value, row}`, `rowIndex` 为改变所在行,`key` 为改变的字段,`value` 为改变后的值,`row` 是改变所在行的所有数据。代码如下: diff --git a/src/pages/demo/d2-crud/demo23/index.vue b/src/pages/demo/d2-crud/demo23/index.vue index d762d2c3..522b1a4e 100644 --- a/src/pages/demo/d2-crud/demo23/index.vue +++ b/src/pages/demo/d2-crud/demo23/index.vue @@ -3,7 +3,8 @@ + :data="data" + @cell-data-change="cellDataChange"/> @@ -89,6 +90,14 @@ export default { } ] } + }, + methods: { + cellDataChange ({rowIndex, key, value, row}) { + console.log(rowIndex) + console.log(key) + console.log(value) + console.log(row) + } } }