0.2.10 • Published 2 years ago

@kne/react-function-select v0.2.10

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

react-function-select

描述

职能选择器

安装

npm i --save @kne/react-function-select

概述

职能选择器,可支持多选和单选,可以通过覆盖preset的apis的方法扩展此组件

示例

示例代码

  • 职能多选
  • 多选
  • FunctionSelect(@kne/react-function-select),Antd(antd)
const {createFunctionSelect,DisplayFunction}=FunctionSelect;
const {Button}=Antd;

const {useState}=React;

const BaseExample = ()=>{
    const [v,setV]=useState([{label:"sdsf",value:"002013"}]);

    return <Button onClick={()=>{
        createFunctionSelect({
            labelInValue:true,
            defaultValue:v,
            size:3,
            onChange:(code)=>{
                setV(code);
            }
        })
    }}>
      <DisplayFunction id={v.map(item=>item.value)}>{(list)=>{
            if(Array.isArray(list)){
                return list.map(item=>item.chName).join(",")
            }
            return list&&list.chName
        }}</DisplayFunction>  
    </Button>
};

render(<BaseExample />);
  • 职能单选
  • 单选
  • FunctionSelect(@kne/react-function-select),Antd(antd)
const {createFunctionSelect,DisplayFunction}=FunctionSelect;
const {Button}=Antd;

const {useState}=React;

const BaseExample = ()=>{
    const [v,setV]=useState(["002002013"]);

    return <Button onClick={()=>{
        createFunctionSelect({
            defaultValue:v,
            size:1,
            onChange:(code)=>{
                setV(code);
            }
        })
    }}>
        <DisplayFunction id={v}>{(list)=>{
            if(Array.isArray(list)){
                return list.map(item=>item.chName).join(",")
            }
            return list&&list.chName
        }}</DisplayFunction>
    </Button>
};

render(<BaseExample />);
  • 职能多选层级
  • 多选
  • FunctionSelect(@kne/react-function-select),Antd(antd)
const {createFunctionSelect,DisplayFunction}=FunctionSelect;
const {Button}=Antd;

const {useState}=React;

const BaseExample = ()=>{
    const [v,setV]=useState([{label:"sdsf",value:"002002013"}]);

    return <Button onClick={()=>{
        createFunctionSelect({
            labelInValue:true,
            defaultValue:v,
            size:3,
            selectLevel:3,
            onChange:(code)=>{
                setV(code);
            }
        })
    }}>
      <DisplayFunction id={v.map(item=>item.value)}>{(list)=>{
            if(Array.isArray(list)){
                return list.map(item=>item.chName).join(",")
            }
            return list&&list.chName
        }}</DisplayFunction>  
    </Button>
};

render(<BaseExample />);

API

其他属性参考antd modal的props

属性名说明类型默认值
title模态框标题string-
size支持多选boolean1
defaultValue默认选中项array-
onChange选中触发事件function(value)-

FunctionSelect.createFunctionSelect

参数同上

FunctionSelect.DisplayFunction

这是一个组件

属性名说明类型默认值
id选中的项的id,支持字符串或数组格式string/array-
childrenid是数组返回的也是数组,id是字符串,返回的是对象function({list}=>{})-

preset

属性名说明类型默认值
options需要覆盖的参数,具体参数参考下面api部分object-

api

属性名说明类型默认值
loadData获取职能数据,默认采用内置数据function-
getAllList获取所有职能数据列表function-
getLeftList获取左侧一级职能列表funciton-
getFunctionByName(name)传入职能name返回职能数据function-
getFunction(id)传入职能ID返回职能数据function-
getChildById(id)通过id,获取子级职能集合function-
searchfunctions(searchStr)通过关键字搜索职能,支持拼音首字母缩写function-
labelInValuevalue是否包含labelbooleanfalse
selectAll允许选择所有层级levelbooleanfalse
0.2.10

2 years ago

0.2.9

2 years ago

0.1.10

2 years ago

0.1.11

2 years ago

0.1.12

2 years ago

0.2.1

2 years ago

0.1.2

2 years ago

0.2.7

2 years ago

0.1.8

2 years ago

0.2.6

2 years ago

0.1.7

2 years ago

0.2.8

2 years ago

0.1.9

2 years ago

0.2.3

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.2.5

2 years ago

0.1.6

2 years ago

0.2.4

2 years ago

0.1.5

2 years ago

0.1.1

2 years ago