diff --git a/components.js b/components.js index b2ebf7b8d..55da3420b 100644 --- a/components.js +++ b/components.js @@ -81,4 +81,5 @@ module.exports = [ 'goods-action-icon', 'goods-action-button', 'address-edit', + 'form', ]; diff --git a/src/checkbox/index.js b/src/checkbox/index.js index 4ad225a3a..880e1e286 100644 --- a/src/checkbox/index.js +++ b/src/checkbox/index.js @@ -1,10 +1,12 @@ import { createNamespace } from '../utils'; +import { FieldMixin } from '../mixins/field'; import { CheckboxMixin } from '../mixins/checkbox'; const [createComponent, bem] = createNamespace('checkbox'); export default createComponent({ mixins: [ + FieldMixin, CheckboxMixin({ bem, role: 'checkbox', diff --git a/src/field/index.js b/src/field/index.js index 72bf54d42..bae9f3289 100644 --- a/src/field/index.js +++ b/src/field/index.js @@ -27,6 +27,7 @@ export default createComponent({ inject: { vanForm: { + from: 'vanForm', default: null, }, }, @@ -152,7 +153,7 @@ export default createComponent({ formValue() { if (this.children && this.$slots.input) { - return this.children.modelValue || this.children.value; + return this.children.modelValue; } return this.modelValue; }, diff --git a/src/form/demo/FieldTypeArea.vue b/src/form/demo/FieldTypeArea.vue index 73e96d06e..f0e0901ed 100644 --- a/src/form/demo/FieldTypeArea.vue +++ b/src/form/demo/FieldTypeArea.vue @@ -3,14 +3,14 @@ readonly clickable name="area" - :value="value" :label="t('picker')" + :model-value="value" :placeholder="t('placeholder')" @click="showArea = true" >