1.1.4 • Published 3 months ago

fytable v1.1.4

Weekly downloads
-
License
ISC
Repository
-
Last release
3 months ago

1.Common

npm安装:

npm i fytable

2.ETTable 使用说明

<template>
  <div class="">
    <a-spin :spinning="spinning">
        <ETTable :column="column" :dataSource="dataSource" :tableEvent="tableEvent" :setCheckboxDefaultRows="setCheckboxDefaultValues" :getCheckboxDisabled="getCheckboxDisabled" v-bind="tableConfig">
            <template v-slot:component="{row,text,rowIndex}" >
              <div style="color:red;"> {{text}}</div>
            </template>
             <template v-slot:menuType="{ row,text, rowIndex }">
                {{{"0":"菜单","1":"菜单","2":"按钮/权限"}[text] || '--'}}
             </template>
             <template v-slot:action="{ row, rowIndex }">
                <a-button type="primary">  编辑 </a-button>
                <a-button type="primary">  编辑1 </a-button>
             </template>
             <template slot="tableEmpty">
                <a-empty description="暂无数据"/>
            </template>
        </ETTable>
    </a-spin>
  </div>
</template>
<script>
import getTableData, { flattenData } from "./utils/data";
const dataList = getTableData().result;
const columns = [
  {
    title: "菜单名称",
    dataIndex: "name",
    key: "name",
    width: 300,
  },
  {
    title: "菜单类型",
    dataIndex: "menuType",
    key: "menuType",
    render: "menuType",
    width: 100,
  },
  {
    title: "版本",
    dataIndex: "menuVersion",
    key: "menuVersion",
  },
  {
    title: "icon",
    dataIndex: "icon",
    key: "icon",
  },
  {
    title: "菜单标识",
    dataIndex: "sysModule",
    key: "sysModule",
  },
  {
    title: "组件",
    dataIndex: "component",
    key: "component",
    width: 200,
    render: "component",
  },
  {
    title: "路径",
    dataIndex: "url",
    key: "url",
    width: 200,
  },
  {
    title: "排序",
    dataIndex: "sortNo",
    key: "sortNo",
    width: 100,
  },
  {
    title: "操作",
    dataIndex: "action",
    fixed: "right",
    render: "action",
    align: "center",
    width: 150,
  },
];
export default {
  name: 'index',
  data() {
    // 这里存放数据
    return {
        spinning:false,
        tableConfig:{
            isTree:true,
            isCheck:true,
            isLazyNode:false,
            // tableConfig:{MAX_HEIGHT:0},
            tableConfig:{},
        },
        setCheckboxDefaultValues:[],
        column:columns,
        dataSource:[]
    };
  },
  mounted() {
    this.spinning = true;
    setTimeout(() => {
      this.setCheckboxDefaultValues = [dataList[0],dataList[10]];
      this.dataSource = dataList;
      this.spinning = false;
    }, 0);
   
  },
  // 方法集合
  methods: {
    tableEvent(type,data){
        console.log('tableEvent===>',type,data);
    },
    getCheckboxDisabled(data){
        // console.log('getCheckboxDisabled===>',data);
        if(data.rowIndex == 4){
            return false;
        }
        return true
    }
  },
  }
</script>

参数说明

本组件不包含独立事件,只有【props】属性或函数,具体如下:
props: {
    columns: { type: Array, default: () => { return []; }, },
    tableData: { type: Array },
    isTree: { type: Boolean, default: false },
    isCheck: { type: Boolean, default: false },
    event:{type:Function},
    getCheckboxDisabled:{type:Function},
    setCheckboxDefaultRows:{type:Array},
    isLazyNode:{type:Boolean, default: false},
    lazyFun:{type:Function},
},

相关参数说明

columns: table的表头对象数组,属性包含 key, title, align, dataIndex, scopedSlots, customRender, width
          ## 属性说明
            | 属性名       | 说明                                   | 类型  |  默认值 |
            | ---------- | --------------------------------------- | ----- | ------ |
            | key    | vue需要,用于标记唯一 | string | ''|
            | title  | 列头显示文字 | string | '' |
            | align  | 设置列内容的对齐方式 | 'left' / 'right' / 'center' | 'left' |
            | dataIndex | 列数据在数据项中对应的英文字段名称 | string | - |
            | render | 使用 columns 时,可以通过该属性配置支持 slot 的属性,如 render: 'XXX' | string | - |
            | width | 列的宽度 | number | - |
            | fixed | 是否固定列 可用值 "left", "right" | string | - |

tableData:    table的数据,以数组形式呈现
isTree:       是否开启table的tree数据的显示能力,true 表示开启, false 表示不开启; 开启时需要设置 rowKey 和 rowParentKey 的值  默认值: false
isCheck:      是否开启table的 CheckBox 能力, true 表示开启, false 表示不开启; 默认值: false
isLazyNode:    是否启用懒加载(树形结构数据时有用) true 表示开启, false 表示不开启; 默认值: false
lazyFun:       懒加载使用的方法 (params):Promise=>{}  返回Promise对象, 参数 params= {colIndex,column,row,rowIndex,value}
event:        主要用于table的自身事件,目前只支持 CheckBox 的change 事件
getCheckboxDisabled: 用于设置CheckBox是否可用的函数, (params)=> Boolean   返回值为true时,checkbox不可选 返回值为false时,checkbox可选; 参数 params= {row,rowIndex}
setCheckboxDefaultRows: 用于设置默认选中值;是当前行的数据对象;如果是动态设置的话需要再当前值变化之后更新一下tableData中的数据使table重新渲染

3.FYTable 使用说明

       <FYTable :loading="loading" :columns="columns" :isCheck="true" :isTree="true" :event="event" :setCheckboxDefaultValues="defaultValArr" :getCheckboxDisabled="getCheckboxDisabled" :tableData="dataList" :width="1500" :height="500">
        <template v-slot:component="{row, text, rowIndex, cellIndex}" >
            <div style="color:red;"> {{text}}</div>
        </template>

    </FYTable>

参数说明

本组件不包含独立事件,只有【props】属性或函数,具体如下:
props: {
    columns: { type: Array, default: () => { return []; }, },
    tableData: { type: Array },
    rowKey: { type: String, default: "id" },
    rowParentKey: { type: String, default: "parentId" },
    isTree: { type: Boolean, default: false },
    isCheck: { type: Boolean, default: false },
    event:{type:Function},
    width:{type:[Number,String]},
    height:{type:[Number,String]},
    loading:{type:Boolean,default:false},
    indentSize:{type:Number,default:20},
    getCheckboxDisabled:{type:Function},
    setCheckboxDefaultValues:{type:Array}
},

相关参数说明

columns: table的表头对象数组,属性包含 key, title, align, dataIndex, scopedSlots, customRender, width
          ## 属性说明
            | 属性名       | 说明                                   | 类型  |  默认值 |
            | ---------- | --------------------------------------- | ----- | ------ |
            | key    | vue需要,用于标记唯一 | string | ''|
            | title  | 列头显示文字 | string | '' |
            | align  | 设置列内容的对齐方式 | 'left' / 'right' / 'center' | 'left' |
            | dataIndex | 列数据在数据项中对应的英文字段名称 | string | - |
            | scopedSlots | 使用 columns 时,可以通过该属性配置支持 slot-scope 的属性,如 scopedSlots: { customRender: 'XXX'} | object | - |
            | customRender | 自定义设置单元格数据函数 | Function(text):any | - |
            | width | 列的宽度 | number | - |

tableData:    table的数据,以数组形式呈现
rowKey:       表示数据项的主键,此项可以提高性能,请按照实际设置相应的字段名称, 默认值为:id
rowParentKey: 用于设置父级字段名称,主要用于树形结构数据时使用,请按照实际设置相应字段名称, 默认值为:parentId
isTree:       是否开启table的tree数据的显示能力,true 表示开启, false 表示不开启; 开启时需要设置 rowKey 和 rowParentKey 的值  默认值: false
isCheck:      是否开启table的 CheckBox 能力, true 表示开启, false 表示不开启; 默认值: false
event:        主要用于table的自身事件,目前只支持 CheckBox 的change 事件
width:        表示table的宽度,需要自行设置,请根据情况进行设置
height:       表示table的高度, 需要自行设置,请根据情况进行设置
loading:      用于请求table数据时加载的提示动画
indentSize:   展示树形数据时,每层缩进的宽度,以 px 为单位
getCheckboxDisabled: 用于设置CheckBox是否可用的函数, ()=> Boolean   返回值为true时,checkbox不可选 返回值为false时,checkbox可选
setCheckboxDefaultValues: 用于设置默认选中值; 可以是主键id,也可以是当前行的数据对象;如果是动态设置的话需要再当前值变化之后更新一下tableData中的数据使table重新渲染
1.1.4

3 months ago

1.1.3

3 months ago

1.1.1

4 months ago

1.1.0

4 months ago

1.1.2

4 months ago

1.0.3

4 months ago

1.0.2

6 months ago

1.0.1

6 months ago