@kne/react-function-select

0.2.10 • Public • Published

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 支持多选 boolean 1
defaultValue 默认选中项 array -
onChange 选中触发事件 function(value) -

FunctionSelect.createFunctionSelect

参数同上

FunctionSelect.DisplayFunction

这是一个组件

属性名 说明 类型 默认值
id 选中的项的id,支持字符串或数组格式 string/array -
children id是数组返回的也是数组,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 -
labelInValue value是否包含label boolean false
selectAll 允许选择所有层级level boolean false

Readme

Keywords

none

Package Sidebar

Install

npm i @kne/react-function-select

Weekly Downloads

27

Version

0.2.10

License

ISC

Unpacked Size

22.2 MB

Total Files

143

Last publish

Collaborators

  • metacoo
  • yangwang123456
  • juliewang
  • lingtong