feat: 更新 PInputText 组件,优化组件名称并调整类型声明
Some checks failed
/ test (push) Successful in 26s
/ surge (push) Has been cancelled

This commit is contained in:
严浩
2024-11-25 12:09:23 +08:00
parent 3e1995b0de
commit 7b5a8e6e41
2 changed files with 14 additions and 10 deletions

View File

@ -15,6 +15,8 @@ import {
import { messages } from '../sections/messages'; import { messages } from '../sections/messages';
import { h, markRaw } from 'vue'; import { h, markRaw } from 'vue';
// https://github.com/formkit/formkit/blob/e57ad1632b95d34d9e6cf046a4802f7ae389700e/packages/vue/src/composables/createInput.ts
/** /**
* Input definition for a text. * Input definition for a text.
* @public * @public

View File

@ -5,21 +5,14 @@ import InputTextCmp from 'primevue/inputtext';
import { markRaw } from 'vue'; import { markRaw } from 'vue';
import { messages } from '../sections/messages'; import { messages } from '../sections/messages';
declare module '@formkit/inputs' { const cmpName = `SchemaComponentPInputText`;
// https://formkit.com/essentials/custom-inputs#typescript-support
interface FormKitInputProps<Props extends FormKitInputs<Props>> {
PInputText: {
type: 'PInputText';
};
}
}
export const PInputText: FormKitTypeDefinition = { export const PInputText: FormKitTypeDefinition = {
type: 'input', type: 'input',
schema: outer( schema: outer(
label('$label'), label('$label'),
createSection('input', () => ({ createSection('input', () => ({
$cmp: 'InputTextCmp', $cmp: cmpName,
bind: '$attrs', bind: '$attrs',
props: { props: {
invalid: '$state.invalid', invalid: '$state.invalid',
@ -37,8 +30,17 @@ export const PInputText: FormKitTypeDefinition = {
messages(), messages(),
), ),
library: { library: {
InputTextCmp: markRaw(InputTextCmp), [cmpName]: markRaw(InputTextCmp),
}, },
features: [casts], features: [casts],
// schemaMemoKey: 'g2f31c24kjh', // schemaMemoKey: 'g2f31c24kjh',
}; };
declare module '@formkit/inputs' {
// https://formkit.com/essentials/custom-inputs#typescript-support
interface FormKitInputProps<Props extends FormKitInputs<Props>> {
PInputText: {
type: 'PInputText';
};
}
}