1.0.8 • Published 2 years ago

element-form-table v1.0.8

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

Hello Element Form Table 👋

基于 Element UI 封装的表单组件,方便基础业务需求的快捷开发使用,适用 Vue2.0 项目。

插件依赖

  • "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1"
  • "@vue/babel-preset-jsx": "^1.2.4"
  • "element-ui": "^2.15.6"
  • "vue": "^2.6.11"

关于上述 Babel 插件,用于在 Vue 中使用 JSX 语法,它可以让我们回到更接近于模板的语法上。

安装组件

yarn add uennki-ui

引入组件并注册

import { ProElFormTable } from 'uennki-ui'
Vue.use( ProElFormTable )

ProElFormTable 组件内封装了几种常用表单组件:

  • "el-input",
  • "el-select",
  • "el-date-picker",
  • "el-cascader",
  • "el-input-number",

使用时,直接传入 componentName 具体组件名称即可。

如果内置的组件不满足使用,还可以传入 render 方法来自定义组件。

使用示例

<template>
  <ProElFormTable :columns="columns" :data-source="dataSource" />
</template>

<script>
export default {
  data(){
    return {
      columns: [
        {
          tableColumnProps: {
            type: "selection",
            align: "center",
          },
        },
        {
          title: "Name",
          dataIndex: "name",
          render: (h, row, $index) => {
            return (
              <el-input
                v-model={row.name}
                style="width: 100%"
                placeholder="请输入"
                props={{}} // 绑定相关属性
                on={{
                  // 绑定相关事件
                  input: (value) => console.log(this),
                }}
              />
            );
          },
        },
        {
          title: "Phone",
          dataIndex: "phone",
          rules: { required: true },
          componentName: "el-input",
        },
        {
          title: "Age",
          dataIndex: "age",
          rules: { required: true },
          componentName: "el-input-number",
          tableColumnProps: {
            sortable: true,
          },
        },
        {
          title: "Date",
          dataIndex: "date",
          componentName: "el-date-picker",
        },
        {
          title: "Like",
          dataIndex: "like",
          componentName: "el-select",
          options: [
            { label: "cat", value: "0" },
            { label: "dog", value: "1" },
          ],
        },
        {
          title: "Address",
          dataIndex: "address",
          componentName: "el-input",
        },
        {
          title: "Source",
          dataIndex: "source",
          render: (h, row, $index) => {
            const options = [
              {
                value: 1,
                label: "东南",
                children: [
                  {
                    value: 2,
                    label: "上海",
                    children: [
                      { value: 3, label: "普陀" },
                      { value: 4, label: "黄埔" },
                      { value: 5, label: "徐汇" },
                    ],
                  },
                  {
                    value: 12,
                    label: "浙江",
                    children: [
                      { value: 13, label: "杭州" },
                      { value: 14, label: "宁波" },
                      { value: 15, label: "嘉兴" },
                    ],
                  },
                ],
              },
            ];
            return (
              <el-cascader
                v-model={row.source}
                options={options}
              ></el-cascader>
            );
          },
        },
      ],
      dataSource: [
        {
          date: "2016-05-03",
          name: "Tom Smith",
          phone: "15688881111",
          source: "",
          address: "No. 189, Grove St, Los Angeles",
          age: 19,
        },
        {
          date: "2016-05-02",
          name: "Bob Json",
          phone: "13622223333",
          source: "",
          address: "No. 189, Grove St, Los Angeles",
          age: 21,
        },
      ]
    }
  }
}
</script>

ProElFormTable 组件参数

参数说明类型默认值
size组件尺寸string'small'
columns表格列的配置描述,具体项见下表object[]-
dataSource表格数据object[]-
formProps表单属性,参考 element form 组件object-
formEvents表单事件,参考 element form 组件object-
tableProps表格属性,参考 element table 组件object-
tableEvents表格事件,参考 element table 组件object-

ProElFormTable columns 参数配置

参数说明类型默认值
title标题string-
dataIndex列数据在数据项中对应的字段String-
rules表单校验配置,参考 element form 校验规则配置object-
componentName内置组件名string-
componentProps内置组件属性,参考对应 element 组件属性配置object-
componentEvents内置组件事件,参考对应 element 组件事件配置object-
tableColumnProps表格项属性,参考 element table-column 属性配置object-
formItemProps表单项属性,参考 element form-item 属性配置object-
options内置组件为 el-select 时独有的配置,展示下拉项数据object[]-
1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago