About avue-crud
A skill for building Avue CRUD tables, aimed at developers configuring data tables and their forms. It centers table behavior in an option object and includes references for events, pagination, search, export, and validation.
Key features
- 01Configure columns and table behavior
- 02Handle create, update, and delete events
- 03Set up pagination and search
- 04Export data and run batch operations
- 05Add validation to CRUD forms
Use cases
- 01Build a paginated Avue CRUD table
- 02Add search and sorting to a data table
- 03Validate forms in CRUD dialogs
- 04Export table data
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ partme-ai/ full-stack-skills --skill avue-crudAfter installing, type/avue-crudin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
LICENSE.txtapi/column-api.mdcrud-api.mdexamples/advanced/column-types.mdvalidation.mdexamples/features/columns.mdcrud-operations.mdexport.mdform-config.mdpagination.mdsearch.mdselection.mdsorting.mdexamples/getting-started/basic-usage.mdconfiguration.mdtemplates/advanced-crud.mdbasic-crud.mdDetails
From the project READMEWhen to use this skill
Use this skill whenever the user wants to:
- Build CRUD tables with Avue (create, read, update, delete)
- Configure table columns, pagination, search, and sorting
- Handle row events (@row-save, @row-update, @row-del)
- Export table data or implement batch operations
- Add form validation inside CRUD table dialogs
How to use this skill
Workflow
- Define the option object - Configure columns, table behavior, and form rules
- Bind data and page - Connect data array and pagination to the component
- Handle events - Implement save, update, and delete event handlers
- Load detailed examples - Each feature has a file in
examples/
Quick-Start Example: CRUD Table with Pagination
<template>
<avue-crud
:option="option"
:data="data"
:page.sync="page"
@row-save="handleSave"
@row-update="handleUpdate"
@row-del="handleDel"
@on-load="loadData"
/>
</template>
<script>
export default {
data() {
return {
data: [],
page: { currentPage: 1, pageSize: 10, total: 0 },
option: {
border: true,
index: true,
selection: true,
column: [
{ label: 'Name', prop: 'name', search: true, rules: [{ required: true, message: 'Name is required' }] },
{ label: 'Email', prop: 'email', search: true },
{ label: 'Status', prop: 'status', type: 'select', dicData: [
{ label: 'Active', value: 1 }, { label: 'Inactive', value: 0 }
]}
]
}
}
},
methods: {
loadData() {
// Fetch data from API using this.page.currentPage and this.page.pageSize
},
handleSave(row, done) { /* POST to API, then call done() */ done() },
handleUpdate(row, index, done) { /* PUT to API, then call done() */ done() },
handleDel(row, index) { /* DELETE from API, then remove from this.data */ }
}
}
</script>
Feature Reference
| Feature | File |
|---|---|
| Column config | examples/features/columns.md |
| CRUD operations | examples/features/crud-operations.md |
| Pagination | examples/features/pagination.md |
| Search | examples/features/search.md |
| Export | examples/features/export.md |
| Form validation | examples/advanced/validation.md |
API Reference
api/crud-api.md- Component props, events, methodsapi/column-api.md- Column types, renderers, formattersapi/option-api.md- Table, form, and button options
Best Practices
- Configuration-driven - Define all table behavior in the
optionobject, not in template markup - Call done() in event handlers - Always call
done()after save/update to close the dialog - Use column types - Set
type: 'select',type: 'date', etc. for automatic form controls - Paginate server-side - Use
@on-loadwith page params for large datasets - Add search columns - Set
search: trueon columns to enable the search bar
Resources
- Official Docs: https://avuejs.com/crud/crud-doc.html
Keywords
Avue CRUD, avue-crud, table, CRUD, 增删改查, pagination, search, column, form, 表格, 分页, data management
Comments
Markdown supported