Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

tanstack-vue-form-skilldtanstack Vue form skilld 前端

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

1,584

周安装

66

GitHub Stars

156

下载量

528
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:tanstack-vue-form-skilld(tanstack Vue form skilld 前端)
来源仓库:https://github.com/harlan-zw/vue-ecosystem-skills
仓库路径:skills/tanstack-vue-form-skilld
安装命令:
npx skills add https://github.com/harlan-zw/vue-ecosystem-skills --skill tanstack-vue-form-skilld
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/harlan-zw/vue-ecosystem-skills --skill tanstack-vue-form-skilld

简介

tanstack-vue-form-skilld 用于辅助前端页面、组件、样式和交互逻辑的开发与维护,适合处理 Vue 表单相关代码。

  • 适用于前端设计场景,可帮助生成或审查 Vue 表单组件和验证逻辑。
  • 使用时需结合项目现有设计系统和构建方式,确保代码集成完整。
  • 建议配合本地预览检查表单交互和验证效果是否正常。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

TanStack/form @tanstack/vue-form@1.29.0

Tags: latest: 1.29.0

References: Docs

API Changes

This section documents version-specific API changes for @tanstack/vue-form.

  • BREAKING: field.errors — v1.28.0 flattens errors by default ([error] not [[error]]), use disableErrorFlat: true to restore old nested behavior source
  • DEPRECATED: field.getValue() — use field.state.value instead as direct accessor methods on FieldApi are deprecated in favor of state access source
  • NEW: field.parseValueWithSchema() — validates field value against Standard Schema V1 without affecting internal field error state source
  • NEW: form.parseValuesWithSchema() — form-level Standard Schema V1 validation helper for third-party schemas like Zod or Valibot source
  • NEW: formOptions() — helper to define reusable, type-safe form options with inference outside of the useForm hook source
  • NEW: Field component — declarative Vue component alternative to useField for defining form fields directly in templates source
  • NEW: Subscribe component — Vue component for fine-grained subscriptions to form or field state changes to optimize re-renders source
  • NEW: useStore() — Vue hook providing direct, reactive access to the underlying TanStack Store state for the form or field source
  • NEW: resetField()FormApi method to reset a specific field's value and metadata back to its default state source
  • NEW: clearFieldValues()FormApi utility to efficiently remove all items from an array field's data source
  • NEW: setErrorMap() — allows manual overriding of the internal validation error map for custom validation logic source
  • NEW: StandardSchemaV1 — native support for the Standard Schema validation protocol across all validator fields source
  • NEW: mode option — UseFieldOptions now supports explicit 'value' or 'array' modes for better type safety in complex forms
  • NEW: disableErrorFlat — new option in FieldApiOptions to opt-out of automatic error flattening introduced in v1.28.0 source

Also changed: resetFieldMeta() new helper · insertFieldValue() array utility · moveFieldValues() array utility · swapFieldValues() array utility · FieldApi.getInfo() metadata helper · VueFieldApi interface stabilization · VueFormApi interface stabilization

Best Practices

  • Use formOptions() to define type-safe, reusable form configurations that can be shared across components or used for better type inference source
const options = formOptions({
  defaultValues: { email: '' },
  validators: {
    onChange: z.object({ email: z.string().email() })
  }
})

const form = useForm(options)
  • Link field validations with onChangeListenTo to trigger re-validation when dependent field values change, such as password confirmations source
<form.Field
  name="confirm_password"
  :validators="{
    onChangeListenTo: ['password'],
    onChange: ({ value, fieldApi }) =>
      value !== fieldApi.form.getFieldValue('password') ? 'Passwords do not match' : undefined
  }"
>
  • Implement async-debounce-ms at the field or validator level to throttle expensive asynchronous validation calls like API checks source
<form.Field
  name="username"
  :async-debounce-ms="500"
  :validators="{
    onChangeAsync: async ({ value }) => checkUsername(value)
  }"
>
  • Parse Standard Schemas manually within onSubmit to retrieve transformed values, as the form state preserves the raw input data source
const form = useForm({
  onSubmit: ({ value }) => {
    // schema.parse converts string to number if transform is defined
    const validatedData = loginSchema.parse(value)
    api.submit(validatedData)
  }
})
  • Pass custom metadata via onSubmitMeta to differentiate between multiple submission actions within a single onSubmit handler source
<button @click="form.handleSubmit({ action: 'save_draft' })">Save Draft</button>
<button @click="form.handleSubmit({ action: 'publish' })">Publish</button>
  • Combine canSubmit with isPristine to ensure the submit button remains disabled until the user has actually interacted with the form source
<template v-slot="{ canSubmit, isPristine }">
  <button :disabled="!canSubmit || isPristine">Submit</button>
</template>
  • Use form.useStore with a selector in <script setup> for granular, reactive access to form state without re-rendering on unrelated changes source
const canSubmit = form.useStore((state) => state.canSubmit)
  • Enable asyncAlways: true when you need asynchronous validators to execute regardless of whether synchronous validation has already failed source
// Runs async validation even if local regex check fails
const validators = {
  onChange: ({ value }) => !value.includes('@') ? 'Invalid' : undefined,
  onChangeAsync: async ({ value }) => api.check(value),
  asyncAlways: true
}
  • Return a fields mapping from form-level validators to update errors across multiple fields simultaneously from a single validation logic source
validators: {
  onChange: ({ value }) => ({
    fields: {
      startDate: value.startDate > value.endDate ? 'Must be before end' : undefined,
      endDate: value.startDate > value.endDate ? 'Must be after start' : undefined
    }
  })
}
  • Use reactive objects for defaultValues when binding the form to dynamic or asynchronous data sources like TanStack Query source
const { data } = useQuery(...)
const defaultValues = reactive({
  name: computed(() => data.value?.name ?? '')
})
const form = useForm({ defaultValues })

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.12%
按下载量换算191

Claude

27.49%
按下载量换算145

Cursor

20.45%
按下载量换算108

Gemini CLI

8.51%
按下载量换算45

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills