index.md 7.57 KB

nav: path: /component title: 组件 order: 1 group: path: /common title: 选择字段

order: 0

QxField 选择字段

选择字段

import React from 'react';
import { QxFieldItem } from '@qx/common';

export default () => {
  return <QxFieldItem name={'标题'} widget={'qxInput'} />;
};

选择器

import React from 'react';
import { QxFieldSelect } from './index';

const schema ={
    "title": "查询字段",
    "type": "string",
    "placeholder": "请选择字段",
    "widget": "fieldsSelect",
    "props": {
        "data": [
            {
                "name": "记录ID",
                "code": "id",
                "extract": {
                    "fieldType": "REL",
                    "fieldKey": "id",
                    "widget": "relSelector",
                    "relId": "WgZMQfitq8TikF03r0C",
                    "allowSelect": true,
                    "$base": true
                }
            },
            {
                "name": "标题",
                "code": "title",
                "extract": {
                    "fieldType": "STRING",
                    "fieldKey": "title",
                    "widget": "qxInput",
                    "required": true,
                    "readOnly": false,
                    "hidden": false
                }
            },
            {
                "name": "文本",
                "code": "input_tcjjnb",
                "extract": {
                    "fieldType": "STRING",
                    "fieldKey": "input_tcjjnb",
                    "widget": "qxInput",
                    "required": false,
                    "readOnly": true,
                    "hidden": false
                }
            },
            {
                "name": "手机",
                "code": "mobile_sulvyl",
                "extract": {
                    "fieldType": "STRING",
                    "fieldKey": "mobile_sulvyl",
                    "widget": "qxMobile",
                    "required": false,
                    "readOnly": false,
                    "hidden": false
                }
            },
            {
                "name": "邮箱",
                "code": "email_kdgfdi",
                "extract": {
                    "fieldType": "STRING",
                    "fieldKey": "email_kdgfdi",
                    "widget": "qxEmail",
                    "required": false,
                    "readOnly": false,
                    "hidden": false
                }
            },
            {
                "name": "流水号",
                "code": "no_bdxdbw",
                "extract": {
                    "fieldType": "STRING",
                    "fieldKey": "no_bdxdbw",
                    "widget": "qxBizNo",
                    "required": false,
                    "readOnly": true,
                    "hidden": false
                }
            },
            {
                "name": "数据标题",
                "code": "data_title",
                "extract": {
                    "fieldType": "STRING",
                    "fieldKey": "data_title",
                    "widget": "qxInput",
                    "required": false,
                    "readOnly": false,
                    "hidden": false,
                    "$base": true,
                    "$default": true
                }
            },
            {
                "name": "拥有人",
                "code": "owner_id",
                "extract": {
                    "fieldType": "USER",
                    "fieldKey": "owner_id",
                    "widget": "userSelector",
                    "required": false,
                    "readOnly": false,
                    "hidden": false,
                    "relId": "user",
                    "$base": true,
                    "$default": true
                }
            },
            {
                "name": "创建人",
                "code": "created_by",
                "extract": {
                    "fieldType": "USER",
                    "fieldKey": "created_by",
                    "widget": "userSelector",
                    "required": false,
                    "readOnly": false,
                    "hidden": false,
                    "relId": "user",
                    "$base": true,
                    "$default": true
                }
            },
            {
                "name": "更新人",
                "code": "updated_by",
                "extract": {
                    "fieldType": "USER",
                    "fieldKey": "updated_by",
                    "widget": "userSelector",
                    "required": false,
                    "readOnly": false,
                    "hidden": false,
                    "relId": "user",
                    "$base": true,
                    "$default": true
                }
            },
            {
                "name": "创建时间",
                "code": "created_at",
                "extract": {
                    "fieldType": "YEAR_SEC",
                    "fieldKey": "created_at",
                    "widget": "qxDatetime",
                    "required": false,
                    "readOnly": false,
                    "hidden": false,
                    "$base": true,
                    "$default": true
                }
            },
            {
                "name": "更新时间",
                "code": "updated_at",
                "extract": {
                    "fieldType": "YEAR_SEC",
                    "fieldKey": "updated_at",
                    "widget": "qxDatetime",
                    "required": false,
                    "readOnly": false,
                    "hidden": false,
                    "$base": true,
                    "$default": true
                }
            }
        ],
        "exclude": [
            "input_tcjjnb",
            "mobile_sulvyl",
            "email_kdgfdi",
            "no_bdxdbw"
        ],
        "params": {
            "appCode": "8yo7v",
            "funCode": "2eg66",
            "useKey": true
        }
    },
    "disabled": true,
    "className": "fr-my-field",
    "$id": "key"
}

export default () => {
  return <QxFieldSelect schema={schema} onChange={(val)=> {
      console.log(val,'kkkkkklllll')
  }}/>;
};

单个 选择弹框

import React from 'react';
import { QxFieldPopover, QxBaseIcon } from '@qx/common';
import {optionsList, treeList} from './mock';
import {
  Button,
  Col,
  Dropdown,
  Input,
  Menu,
  message,
  Row,
  Space,
  Tooltip,
  TreeSelect,
  Typography,
} from 'antd';

export default () => {
  return <QxFieldPopover onChange={(val) => {

  }} data={optionsList} trigger={'click'}>
    <Button
      size="small"
      type={'link'}
    >
      <QxBaseIcon style={{fontSize: 16}} type={'qx-icon-plus'} />
      添加字段
    </Button>
  </QxFieldPopover>;
};

多个选择弹框

import React, {useState} from 'react';
import { QxFieldPopover, QxBaseIcon, QxCheckboxFieldPopover } from '@qx/common';
import {optionsList, treeList} from './mock';
import {
  Button,
  Col,
  Dropdown,
  Input,
  Menu,
  message,
  Row,
  Space,
  Tooltip,
  TreeSelect,
  Typography,
} from 'antd';

export default () => {
  const [selectedFieldsKey, setSelectedFieldsKey] = useState<string[]>([]);


  return <QxCheckboxFieldPopover onChange={(val) => {
    setSelectedFieldsKey(val)
  }} data={optionsList} values={selectedFieldsKey} trigger={'click'}>
    <Button
      size="small"
      type={'link'}
    >
      <QxBaseIcon style={{fontSize: 16}} type={'qx-icon-plus'} />
      添加字段
    </Button>
  </QxCheckboxFieldPopover>;
};