npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

anshare-multifunction-test

v0.0.3

Published

Anshare Crud Plugin

Readme

🎉 Anshare多功能Crud插件

特性

  • 基于el-table,el-form二次封装,表单表格支持可视化配置
  • 表单设计器
    • 基础组件: 内置element-ui表单组件
    • 高级组件:
      • 级联选择器 (el-cascader)
      • 富文本编辑器 Tinymce
      • 附件模块 (FileUpload)
      • 表格模块 (CrudTable)
      • 树形下拉框 (vue-treeSelect)
      • 自定义插槽
  • 表格设计器

开始使用

安装

npm i anshare-multifunction-crud -S

CDN

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <!-- 引入ProCrud CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/lib/ProCrud.css" />
    <!-- 引入ElementUI CSS -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"
    />
  </head>
  <body>
    <div id="app">
      <el-button @click="showDialog('form')" type="primary">打开表单设计器</el-button>
      <el-button @click="showDialog('table')" type="danger">打开表格设计器</el-button>
      <form-designer-dialog ref="form"></form-designer-dialog>
      <table-designer-dialog ref="table"></table-designer-dialog>
      <crud-table tableName="dept" tableTitle="表格示例"></crud-table>
    </div>
  </body>
  <!-- import Vue before Element -->
  <script src="https://unpkg.com/vue/dist/vue.js"></script>
  <!-- import ElementUI -->
  <script src="https://unpkg.com/element-ui/lib/index.js"></script>
  <!-- import AnshareMultifunctionCrud -->
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/ProCrud.umd.min.js"></script>

  <script>
    new Vue({
      el: "#app",
      methods:{
        showDialog(name){
          this.$refs[name].showDialog();
        }
      }
    });
  </script>
</html>

本地调试

  • 本地debug
// 调试代码位于examples/App.vue
npm start
  • lib包debug
// 1、umd打包
npm run demo
// 2、打开index.html
  • 修改index.html中后台url地址
  • 修改@/api/axios.ts中token为该项目合法token

引入 AnshareMultifunctionCrud

支持完整引入及按需引入,该插件基于ElementUI封装,注意引用顺序

完整引入

在 main.js 中写入以下内容:

import AnshareMultifunctionCrud from 'anshare-multifunction-crud';
import ElementUI from 'element-ui';
import 'anshare-multifunction-crud/lib/AnshareCrud.css'; // 先引入插件css,避免css污染
import 'element-ui/lib/theme-chalk/index.css';


Vue.use(ElementUI)
AnshareMultifunctionCrud.init(options);//可以对插件进行一些的初始化
Vue.use(AnshareMultifunctionCrud);

按需引入

  import { GenerateForm } from 'anshare-multifunction-crud';
  Vue.use(GenerateForm);

  import Vue from 'vue';
  import { GenerateForm,CrudTable } from 'anshare-multifunction-crud';
  import App from './App.vue';

  Vue.component(GenerateForm.name, GenerateForm);
  Vue.component(CrudTable.name, CrudTable);

  /* 或写为
  * Vue.use(GenerateForm)
  * Vue.use(CrudTable)
  */

  new Vue({
    el: '#app',
    render: h => h(App)
  });

完整组件列表

  • GenerateForm // 根据表单设计器json自动渲染表单

  • FormDesignerDialog // 表单设计器

  • TableDesignerDialog // 表格设计器

  • CrudTable // 高级增删改查 ProTable

组件文档

init

Ps: CrudTable继承自el-table.官方props,events均可直接使用.此处只列出本插件新增props,events.

CrudTable

Props

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :--------------------: | :---------------------------------------------------------------: | :-------------: | :-------------------------------------: | :-------: | | el-table Props | 见官网 | - | - | - | | expandRowKeys | 展开行 | Array | - | - | | searchMode | 查询区域模式 | String | popover/cover | popover | | listField | response 中数据位置 | String | data/data.list | data.list | | setReadOnly | GenerateFormDialog 中的表单禁用.null 表示均可编辑;{}表示全部只读; | Object | null/{}/{whiteList:{},blackList:{}} | null | | | isMultiple | 是否开启多选 | Boolean | true,false | false | | prefill | 表单预填项(赋值初始值) | Object | - | null | | appendToBody | 表单对话框是否插入至 body 元素上 | Boolean | true/false | true | | tableName | 表名 | String | - | '' | | tableDesignerName | 用于请求表格设计 json 的 name,不传则默认读取 tableName | String | - | null | | dialogFormDesignerName | 对话框内加载 FormDesigner 的表名,,不传则默认读取 tableName | String | - | null | | orderCondition | 排序条件 | String | - | null | | visibleList | 内部元素显示控制(详情见下方) | Object | - | {} | | tableTitle | 表格标题 | String | - | '' | | tableParams | 表格请求参数(带查询参数请求) | Object,Array | - | {} | | textMap | 表单对话框标题 | Object | { add:'添加',edit:'编辑',detail:'查看'} | {} | | promiseForDel | 自定义删除按钮 promise 请求 | Function | Function({id}) | - | | promiseForSelect | 自定义列表查询 promise 请求 | Function | Function(searchCondition, clearParams) | - | | btnAddOnClick | 添加按钮点击事件 | Function | - | - | | btnRowAddOnClick | 表格行中的添加按钮点击事件 | Function | Function(row) | - | | btnEditOnClick | 编辑按钮点击事件 | Function | Function(row) | - | | btnDetailOnClick | 查看按钮点击事件 | Function | Function(row) | - | | btnAddVisibleFunc | 表格行中的添加按钮是否显示事件 | Function | Function(row) | - | | btnDelVisibleFunc | 表格行中的删除按钮是否显示事件 | Function | Function(row) | - | | btnEditVisibleFunc | 表格行中的编辑按钮是否显示事件 | Function | Function(row) | - | | btnDetailVisibleFunc | 表格行中的查看按钮是否显示事件 | Function | Function(row) | - | | showPagination | 自定义列表 config 请求 | Boolean | true/false | true | | remoteFuncs | 远程数据方法(用于表单内远端数据请求) | Object | - | {} | | pageSize | 动态传入分页 | Array | - | [10,50,100] | | maxHeightMinus | 表格自适应高度需要减去的高度值 | Number | - | 285 | | fullHeight | 是否自适应屏幕高度(配置MaxHeightMinus) | Boolean | - | false | | selectableFunc | 选择框动态判断是否显示 | Function | - | null | | fullscreen | 表单是否全屏 | Boolean | - | false | | closeOnClickModal | 表单点击阴影是否可以关闭 | Boolean | - | false | | dialogWidth | 表单宽度 | String | - | 1000px | | showColumnIndex | 是否显示序号列 | Boolean | - | false | | exportDownloadUrl | 自定义导出url | String | - | null | | formTableConfig | 表单中表格的tableConfig | Object | - | 详情看GenerateFormItem中解释 | | formValuesAsync | 异步更新表单数据 | Object | - | 外层异步传入数据更新表单,注意不能直接修改formValues | | formRules | [] | Array | - | 表单联动规则 | | actionColumnWidth | 操作列宽度(有时需要直接指定列宽) | Number | - | null | | paginationLayout | 分页显示 | String | 见官网 | total, prev, pager, next, jumper, sizes |

Props 补充说明

  • visibleList
  // 内部元素显示控制
  {
    searchForm: true, // 查询区域
    tableTitle: true, // 表格标题
    btnAdd: true, // 添加按钮
    btnDel: false, // 批量删除按钮
    btnExport: true, // 导出按钮
    btnImport: false, // 导入按钮
    actionColumnBtnAdd: false, // 操作列添加按钮
    actionColumnBtnEdit: true, // 操作列编辑按钮
    actionColumnBtnDetail: false, // 操作列查看按钮
    actionColumnBtnDel: true, // 操作列删除按钮
    actionColumn: true, // 操作列
    seniorSearchForm:true, // 高级查询表单是否显示 (改为false需要通过slot传入自定义高级查询表单)
    btnAddOnColumnHeader: false, // 操作列header添加按钮
  };
  • textMap
// 按钮文字Map
{
  add: '添加',
  edit: '编辑',
  del: '删除',
  detail: '查看',
  export: '导出',
  import: '导入',
}

Events

| 事件名称 | 说明 | 回调参数 | | :-------: | :--------------------------: | :------------------------------------------------: | | el-table events | 所有el-table其他事件见官网文档 | - | | done | 表格数据请求完成 | 整个 CrudTable 组件对象 | | selection | 多选事件 | 选中的行 (params: Array) | | change | 监听 dialog 中 form 对象改变 | 返回当前表单对象以及当前表单 json (params: Object) | | form-btn-on-click | 表单内按钮组件点击回调 | widget(表单组件json) |

Slots

| 插槽名称 | 说明 | | :-------------: | :--------------------------------------: | | columnFormatter | 结合表格设计自定义列使用 | | btnBarPrevBtn | 自定义右上角功能按钮 | | btnCustom | 自定义操作按钮 参数为 {row} | | seniorSearchForm | 自定义高级查询表单 | | dialogFooter | 弹出表单右侧底部slot |

Methods

| 方法名 | 说明 | 参数 | | :---------: | :----------: | :--: | | tableReload | 重新加载列表 | - | | getElTable | 获取原生el-table对象 | - |