e-ngx-table
TypeScript icon, indicating that this package has built-in type declarations

5.2.3 • Public • Published

e-ngx-table

基于Angular的表格组件,耦合后台,仅限公司内部使用。

Introduce

  1. 必须与后台配合,根据配置项自动获取数据

  2. 支持分页

  3. 支持单元格自定义格式及点击操作

  4. 支持高级搜索

  5. 支持批量选择行数据

Usage

  1. Install

    npm install --save e-ngx-table@latest
  2. Set in the .angular-cli.json(@angular/cli)

    "styles"[
        "../node_modules/bootstrap/dist/css/bootstrap.min.css",
        "../node_modules/font-awesome/css/font-awesome.min.css"
    ]
  3. Add the ENgxTableModule

    import {ENgxTableModule} from "e-ngx-table";
    @NgModule({
        imports: [
            ENgxTableModule
        ]
    })
  4. Use in Template

    <e-ngx-table [option]="option" (ready)="ready($event)" (rowSelect)="onRowSelect($event)"></e-ngx-table>
  5. Use in Component

    tableENgxTableComponent;
     
    optionany = {
        serverParam: {
            serverUrl: 'http://192.168.0.88/drainage/TSewerageUserController/getSewerageUserListPage',
            token: '' // 传入登录之后得到的令牌
        },
        operateBtn: [{
                 text: '添加',
                 cls: 'btn-success',
                 event: () => {
                     console.log('添加操作!');
                 }
             }],
        showGlobalSearch: true, // 是否显示全局搜索,默认显示
        showComplexSearch: true, // 是否显示复杂搜索框,默认隐藏
        columns: {
            primaryKey: 'id', // (一般要配置,如果错了rowSelect事件会失效)
            items: [{
                label: "工程名称",
                colName: "name",
                render: (value: any, obj: any) => {
                    return `<span style="color: royalblue;"><span class="glyphicon glyphicon-user"></span>value</span>`;
                },
                event: (data) => {
                    console.log(data);
                }
            }, {
                label: "工程编号",
                colName: "no",
                style: {color: 'red', 'font-weight': 'bold'}
            }, {
                label: "工程地址",
                colName: "address",
                ellipsis: true,
                width: 200
            }, {
                label: "创建时间",
                colName: "createtime",
                search: false,
                complexSearch: true,
                type: 'time'
            }, {
                label: "操作",
                print: false,
                order: null,
                render: [
                    {
                        text: '添加',
                        cls: 'btn-info btn-xs',
                        exist:(obj: any) => { // 根据条件判断是否隐藏按钮
                            return false;
                        },
                        event: (obj: any) => {
                            console.log(obj);
                        }
                    },
                    {
                        text: '编辑',
                        cls: 'btn-info btn-xs',
                        event: (obj: any) => {
                            console.log(obj);
                        }
                    },
                    {
                        text: '刪除',
                        cls: 'btn-danger btn-xs',
                        event: (obj: any) => {
                            console.log(obj);
                        }
                    }
                ]
            }]
        }
    };
     
    // 表格初始完成
    ready($event) {
        this.table = $event;
        console.log('table ready!');
    }
     
    // 行选择事件
    onRowSelect($event) {
        console.log($event);
    }
     
    // 刷新表格
    refresh() {
        this.table.refresh();
    }

API

Inputs

  • option (Object) - 表格配置项,默认配置如下:
 
serverParam: {
    serverUrl: "", // 
    token: "", // 
    currentPage: 1, // 
    pageSize: 10, // 
    conditions: [{fieldName: '', value: '', operator: 'LIKE'}], // 
    orders: [{fieldName: '', value: '', operator: 'DESC'}], // 
    search: "", // 
    fileds: [] // 
},
operateBtn [] : 按钮对象数组,对象属性{text: , cls, event
showGlobalSearch: true, // true
showComplexSearch: true, // falsetrueitemscomplexSearch: true,type: 'string','number
columns: {
    primaryKey: "id", // 
    batch: true, // 
    index: { // 
        enabled: true, // 
        print: true // 
    },
    items: [
        {
            label: "", // 
            colName: "", // 
            visible: true, // 
            print: true, // 
            order: 'normal', // null, normal, asc, desc
            search: true, // true
            complexSearch: {
                enable: false, // complexSearchfalse
                type: 'string', // 'string', 'number', 'select'
                data: [{text: '', value: 0}] // type'select'
            },
            width: null, // '100px'
            cls: "text-center", // 
            style: null, // 
            ellipsis: false, // ...
            // (value, obj)
            // {text: , cls, event}
            render: null, //  (value: any, obj: any) => {}{text: string , cls: string , event: function , exist: function }
            event: null, // , 
        },
        { // 
            label: "操作",
            print: false,
            order: null,
            exist: (obj) => {
                // truefalse
            },
            render: [
               {
                   text: '',
                   cls: 'btn-info btn-xs',
                   event: (obj: any) => {
                       console.log(obj);
                   }
               },
               {
                   text: '',
                   cls: 'btn-danger btn-xs',
                   event: (obj: any) => {
                       console.log(obj);
                   }
               }
            ]
       }
    ]
}
operator的值可以有:
"EQ"; // 相等
"NE"; // 不相等
"LIKE"; // 包含
"GT"; // 大于
"LT"; // 小于
"GTE"; // 大于等于
"LTE"; // 小于等于
"AND"; // 交集,复杂条件使用
"OR"; // 并集,复杂条件使用
"IN"; // IN
"ASC"; // 正序,排序使用
"DESC"; // 倒序,排序使用

Outputs (event)

  • ready - 表格准备就绪后会触发该事件,参数$event为ENgxTableComponent的实例

  • rowSelect - 行选择事件,参数$event表示已选行的数据,数据类型为对象数组

  • tableRefresh - 表格刷新后会触发该事件,参数$event为ENgxTableComponent的实例

Instance Method

  • refresh(): void - 刷新列表数据

Develop

```shell
npm install // 安装依赖包

npm start // 启动项目
```

License

MIT License

Package Sidebar

Install

npm i e-ngx-table

Weekly Downloads

4

Version

5.2.3

License

MIT

Unpacked Size

197 kB

Total Files

40

Last publish

Collaborators

  • laixiangran