feat: 重构消息组件,优化表单输入逻辑,移除不必要的依赖
Some checks failed
/ surge (push) Has been cancelled
/ test (push) Has been cancelled

This commit is contained in:
严浩
2024-11-24 23:24:41 +08:00
parent edd6decdbd
commit 29db04c54a
4 changed files with 8 additions and 16 deletions

View File

@ -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 }),

View File

@ -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())
), ),
/** /**

View File

@ -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',

View File

@ -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)',
})) }))