1.0.4 • Published 5 years ago

ref-multiple-table-ui v1.0.4

Weekly downloads
7
License
MIT
Repository
github
Last release
5 years ago

ref-multiple-table 表格参照

表格参照

代码演示

$ npm install ref-multiple-table-ui --save
/**
 *
 * @title ref-multiple-table-base 复杂查询表格参照的ui
 * @description 复杂查询表格参照
 *
 */
 import React, { Component } from 'react';
import RefMultipleTableBaseUI,{ SearchPanelItem } from 'ref-multiple-table-ui';
import {FormControl,Button,Form} from 'tinper-bee';
 class Demo1 extends Component{
 
     /** 请求接口获取数据*/
     
    render() {
        const {getFieldError,getFieldProps} = this.props.form;
        let { showLoading,showModal } = this.state;
        let { columnsData, tableData, pageCount, pageSize, currPageIndex, fliterFormInputs, filterInfo, checkedArray, checkedMap } = this;
        let {dataNumSelect,handlePagination,searchFilterInfo} = this;
        let childrenProps = Object.assign(Object.assign({}, this.props), {
          showModal:showModal,
          showLoading : showLoading,
          columnsData : columnsData,
          tableData : tableData,
          pageCount : pageCount,
          pageSize : pageSize,
          currPageIndex : currPageIndex,
          fliterFormInputs : fliterFormInputs,
          filterInfo : filterInfo,
          dataNumSelect : dataNumSelect,
          handlePagination : handlePagination,
          searchFilterInfo : searchFilterInfo,
          onSave:this.onSave,
          onCancel:this.onCancel,
    		});
        return (
          <div className="demoPadding">
            <RefMultipleTableBaseUI
              placeholder="placehholder"
              title={'复杂表格参照'}
              backdrop={true}
              disabled={false}
              multiple={true}
              strictMode={true}
              miniSearch={false}
              emptyBut={true}
              {...childrenProps}
              {
              ...getFieldProps('valueField', {
                initialValue: '{"refname":"000","refpk":"c4a06b52-4789-4c1e-86b2-83cca5212007"}',
                rules: [{
                  message: '请输入姓名',
                  pattern: /[^{"refname":"","refpk":""}|{"refpk":"","refname":""}]/
                }]
              })
              }
    
            />
            <span className='error'>
              {getFieldError('valueField')}
            </span>
            <Button
              colors="primary"
              onClick={() => {
                this.setState({showModal:true})
              }}>打开参照</Button>
            <Button
              colors="primary"
              onClick={() => {
                this.props.form.validateFields((err, values) => {
                  console.log(err, values)
                });
              }}>submit</Button>
          </div>
        )
  }
 }

表格参照对外提供的组件有

RefTreeTableBaseUI

  表格参照的纯ui,需要正确的参数传入

SearchPanelItem

表格参照搜索面板处的搜索条件

RefTreeTableBaseUI API

注意:以下参数为 <RefTreeTableBaseUI/>需要使用的,为了保证功能的正常使用请传入。

参数类型默认值说明必选
classNamestring参照class样式,作用于弹出层的样式,默认为空。
titlestring打开上传的模态框显示的标题文字
backdropbooltrue弹出层是否有模态层,true 显示,false 不显示
showModalboolfalse是否展示参照 ,true显示,false不显示(refcorewithinput可以提供)
onSavefunction(value)--参照确定的回调(refcorewithinput可以提供)
onCancelfunction(value)--参照取消的回调(refcorewithinput可以提供)
langstringzh_TW多语配置,详情查看参数详解
buttonsobject-{buttons:{cancelText:'',confirmText:'',okText:''}} 按钮文字展示
emptyButboolfalse清空按钮是否展示
miniSearchBooleantrue默认是简单搜索
sizeString'lg'modal的size
valueFieldstring'refcode'待提交的 value 的键。
searchFilterInfofunction(value)复杂搜索的查询回调,将搜索条件带回
showLoadingboolfalse是否展示loading,多用于请求中
*fliterFormInputsArray--查询条件
*tableDataArray表体数据
*columsDataArray表头数据
pageCountnumber总页数
currPageIndexnumber当前页数
totalElementsnumber一共多少条
dataNumSelectfunction()选择每页多少条的回调函数
handlePaginationfunction()切换页的方法

注意:modalShow在refcorewithinput中有提供。因为若是refcorewithinput和refmultipletablebaseui配合使用,则不需要额外提供modalShow的,onSave和onCancel

SearchPanelItem API

注意:以下参数为 <SearchPanelItem/>需要使用的,为了保证功能的正常使用请传入。

参数类型默认值说明必选
keyString---key值
nameString---getFieldProps(name, option)的name字段,设置表单元素name,不可以重复
textString---搜索框的标题

参数详解

eg:
  

    lang:
      "zh_CN" // 中文
      "en_US" // 英文
      "zh_TW" // 繁体中文
      "fr_FR" // 法文
      "de_DE" // 德文
      "ja_JP" // 日文

示例

   

开发调试

$ npm install

$ npm run dev