feat: 重构消息组件,优化表单输入逻辑,移除不必要的依赖
This commit is contained in:
@ -35,6 +35,7 @@ export default {
|
|||||||
// 'headlessuiSwitch': createInput(HeadlessuiToggle),
|
// 'headlessuiSwitch': createInput(HeadlessuiToggle),
|
||||||
// }
|
// }
|
||||||
// ),
|
// ),
|
||||||
|
(node) => { },
|
||||||
createThemePlugin(theme, icons/* , iconLoaderUrl, iconLoader */),
|
createThemePlugin(theme, icons/* , iconLoaderUrl, iconLoader */),
|
||||||
bindings,
|
bindings,
|
||||||
createI18nPlugin({ zh }),
|
createI18nPlugin({ zh }),
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
import { FormKitTypeDefinition } from '@formkit/core'
|
import { FormKitTypeDefinition } from '@formkit/core'
|
||||||
import {
|
import {
|
||||||
messages,
|
|
||||||
message,
|
|
||||||
actions,
|
actions,
|
||||||
submitInput,
|
submitInput,
|
||||||
forms,
|
forms,
|
||||||
disablesChildren,
|
disablesChildren,
|
||||||
createSection,
|
createSection,
|
||||||
} from '@formkit/inputs'
|
} from '@formkit/inputs'
|
||||||
|
import { messages } from '../sections/messages'
|
||||||
|
|
||||||
const formInput = createSection('form', () => ({
|
const formInput = createSection('form', () => ({
|
||||||
$el: 'form',
|
$el: 'form',
|
||||||
@ -33,7 +32,7 @@ export const form: FormKitTypeDefinition = {
|
|||||||
*/
|
*/
|
||||||
schema: formInput(
|
schema: formInput(
|
||||||
'$slots.default',
|
'$slots.default',
|
||||||
messages(message('$message.value')),
|
messages(),
|
||||||
actions(submitInput())
|
actions(submitInput())
|
||||||
),
|
),
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import MessagesCmp from '@/__fk-inputs__/components/messages.vue';
|
|
||||||
import { FormKitTypeDefinition, type FormKitFrameworkContext } from '@formkit/core';
|
import { FormKitTypeDefinition, type FormKitFrameworkContext } from '@formkit/core';
|
||||||
import {
|
import {
|
||||||
casts,
|
casts,
|
||||||
@ -8,6 +7,7 @@ import {
|
|||||||
} from '@formkit/inputs';
|
} from '@formkit/inputs';
|
||||||
import PInputText from 'primevue/inputtext';
|
import PInputText from 'primevue/inputtext';
|
||||||
import { h, markRaw } from 'vue';
|
import { h, markRaw } from 'vue';
|
||||||
|
import { messages } from '../sections/messages';
|
||||||
|
|
||||||
export const InputText: FormKitTypeDefinition = {
|
export const InputText: FormKitTypeDefinition = {
|
||||||
type: 'input',
|
type: 'input',
|
||||||
@ -29,16 +29,11 @@ export const InputText: FormKitTypeDefinition = {
|
|||||||
'aria-required': '$state.required || undefined',
|
'aria-required': '$state.required || undefined',
|
||||||
},
|
},
|
||||||
}))(),
|
}))(),
|
||||||
createSection('messages', () => ({
|
messages(),
|
||||||
$cmp: 'MessagesCmp',
|
|
||||||
props: { context: '$node.context', },
|
|
||||||
if: '$defaultMessagePlacement && $fns.length($messages)',
|
|
||||||
}))(),
|
|
||||||
),
|
),
|
||||||
library: {
|
library: {
|
||||||
// 'FComponent': custom_FComponent.library,
|
// 'FComponent': custom_FComponent.library,
|
||||||
'PInputText': markRaw(PInputText),
|
'PInputText': markRaw(PInputText),
|
||||||
'MessagesCmp': markRaw(MessagesCmp)
|
|
||||||
},
|
},
|
||||||
features: [casts],
|
features: [casts],
|
||||||
// family: 'text',
|
// family: 'text',
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
|
import MessagesCmp from '@/__fk-inputs__/components/messages.vue';
|
||||||
import { createSection } from '@formkit/inputs';
|
import { createSection } from '@formkit/inputs';
|
||||||
|
|
||||||
/**
|
|
||||||
* Messages section where all messages will be displayed.
|
|
||||||
*
|
|
||||||
* @public
|
|
||||||
*/
|
|
||||||
export const messages = createSection('messages', () => ({
|
export const messages = createSection('messages', () => ({
|
||||||
$el: 'ul',
|
$cmp: MessagesCmp as any,
|
||||||
|
props: { context: '$node.context', },
|
||||||
if: '$defaultMessagePlacement && $fns.length($messages)',
|
if: '$defaultMessagePlacement && $fns.length($messages)',
|
||||||
}))
|
}))
|
||||||
|
Reference in New Issue
Block a user