Appearance
GroupForm
特殊类型,type=group
group分组的表单校验
group的显示控制
children的slot
比如一个输入框的组件 diy-input
vue
<template>
<input type="text" v-model="value" @change="changeHandler" placeholder="自定义的输入框">
</template>
<script lang="ts" setup>
import { computed } from 'vue'
const props = defineProps({
modelValue: {
type: String,
default: '',
},
})
const emits = defineEmits(['update:modelValue', 'change'])
const value = computed({
get () {
return props.modelValue
},
set (val) {
emits('update:modelValue', val)
emits('change', val)
},
})
function changeHandler (event) {
emits('change', event)
}
</script>
<style lang="scss" scoped>
input {
border: 1px solid #ddd;
&.is-error {
border: 1px solid red;
}
}
</style>
src Props
| 参数名 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| fields (*) | Array | [] | |
| model-value (v-model) (*) | any | {} | |
| props | any | - | |
| options (*) | GlobalOptions | { |
src Events
| 事件名 | 描述 | 参数 |
|---|---|---|
| update:model-value | - | |
| change | - | |
| blur | - | |
| focus | - |
src Slots
| 插槽名 | 描述 | 参数 |
|---|---|---|
| default | slot-item name data validator |