diff --git a/examples/views/page/form-new/form-render.vue b/examples/views/page/form-new/form-render.vue index 12ce754..a8d8bf9 100644 --- a/examples/views/page/form-new/form-render.vue +++ b/examples/views/page/form-new/form-render.vue @@ -8,14 +8,14 @@ {{ item.group.title || item.group }} - + - + @@ -28,6 +28,7 @@ export default { props: { list: Array, model: Object, + value: Object, itemKey: String, titleClass: String, contentClass: String, @@ -48,7 +49,7 @@ export default { }, /** * @description 组件有值输入时的事件 - * @param {Object} data { value => '组件值'; item => '表单项配置' } + * @param {Object} data { value => 组件值; item => 表单项配置 } */ onInput({ value, item }) { if (this.itemKey) { @@ -75,7 +76,30 @@ export default { */ onFormItemChange(value) { this.$emit('form-item-change', value); - } + }, + /** + * @description 当表单项有手动更新时的事件 + * @param {Any} 表单项值 + */ + onItemUpdate(value) { + this.$emit('item-update', value); + }, + /** + * @description 绑定表单项事件 + * @param {Object} item 表单项配置 + * @returns {Function} 事件函数 + */ + bindItemEvent(item) { + if (item.on) { + if (typeof item.on === 'function') { + return item.on({ model: this.value, update: ({ name, value }) => this.$emit('item-update', { name, value }) }); + } else { + return item.on + } + } else { + return undefined + } + }, } } diff --git a/examples/views/page/form-new/index.vue b/examples/views/page/form-new/index.vue index 118bf5a..ae82625 100644 --- a/examples/views/page/form-new/index.vue +++ b/examples/views/page/form-new/index.vue @@ -1,14 +1,14 @@