五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

react +ts+antd中tree和From和諧相處

2023-02-01 14:42 作者:syillan  | 我要投稿


利用useState存放點(diǎn)擊的tree的key值
tree中調(diào)用的方法,獲取tree中自帶key,
將oncheck獲取到的key值,放入到model方法對(duì)應(yīng)的字段中
提交代碼時(shí),將model方法放入其中

所有代碼

import React, { useEffect, useMemo, useState } from "react";

import { Form, Input, Modal, TreeSelect, message, Tree } from 'antd';

import './EditFromindex.less'

import { Dispatch } from 'umi';

import { AssignPermissions } from '@/service/roleService';

import { query as Menuquery } from '@/service/menuService';

import type { DataNode, TreeProps } from 'antd/es/tree';

import { number } from "echarts";

interface AssignFormProps {

? visible: boolean;

? onSubmit: () => void;

? onCancel: () => void;

? dataItem: any;

? dispatch: Dispatch;

? Items: Menu[];

? RoleId?: number;

? changevalue?: any;

}

const page: number = 1;

const pageSize: number = 99;


const AssignForm: React.FC<AssignFormProps> = (props: AssignFormProps) => {

? const [form] = Form.useForm();

? const { dataItem } = props;

? const [rolelist, setRoleList] = useState([]);

? const [changevalue, setChangeValue] = useState({});


? useEffect(() => {

? ? props.visible && MenuFunc()

? }, [dataItem?.Id]);


? const MenuFunc = async () => {

? ? const query = {

? ? ? currenetPageIndex: page,

? ? ? pageSize: pageSize,

? ? }

? ? const res = await Menuquery(query)

? ? console.log(res?.ResData.Items);

? ? setRoleList(treeDataFunc(res?.ResData.Items))

? }


? const mapToModel = (values: any,): any => {

? ? console.log(values)


? ? return {

? ? ? ...values,

? ? ? RoleId: dataItem?.Id,

? ? ? Permissions: '',

? ? ? Menus: changevalue,

? ? }

? }


? const onSubmit = (value: any) => {

? ? const server = AssignPermissions;

? ? server(mapToModel(value)).then((res) => {

? ? ? const { Success } = res;

? ? ? if (Success) {

? ? ? ? props.onSubmit();

? ? ? ? message.success('success');

? ? ? } else {

? ? ? ? message.error('error');

? ? ? }

? ? });

? };

? const treeDataFunc = (data) => {

? ? return data?.map((item) => {

? ? ? return {

? ? ? ? value: item.Id,

? ? ? ? title: item.Name,

? ? ? ? key: item.Id,

? ? ? ? children: item.SubMenu?.map((submenu) => {

? ? ? ? ? return {

? ? ? ? ? ? value: submenu.Id,

? ? ? ? ? ? title: submenu.Name,

? ? ? ? ? ? key: submenu.Name,

? ? ? ? ? ? children: submenu.Permissions?.map((permission) => {

? ? ? ? ? ? ? return {

? ? ? ? ? ? ? ? value: permission.Id,

? ? ? ? ? ? ? ? key: permission.Name,

? ? ? ? ? ? ? ? title: permission.Name.split('/')[1],

? ? ? ? ? ? ? }

? ? ? ? ? ? })

? ? ? ? ? }

? ? ? ? })

? ? ? }

? ? })

? }


? // tree 模板

? const onSelect: TreeProps['onSelect'] = (selectedKeys, info) => {

? ? console.log('selected', selectedKeys, info);

? };


? const onCheck: TreeProps['onCheck'] = (checkedKeys, info) => {

? ? console.log('onCheck', checkedKeys, info);

? ? setChangeValue(checkedKeys)

? };


? // tree 模板


? return (

? ? <Modal

? ? ? title="Assign permissions"

? ? ? onOk={() => {

? ? ? ? form.submit();

? ? ? }}

? ? ? onCancel={props.onCancel}

? ? ? visible={props.visible}

? ? ? className='department-editfrom'

? ? >


? ? ? <Form

? ? ? ? labelCol={{ span: 8 }}

? ? ? ? layout="vertical"

? ? ? ? form={form}

? ? ? ? onFinish={(values: number) => {

? ? ? ? ? console.log(values);

? ? ? ? ? onSubmit(values);

? ? ? ? }}

? ? ? >

? ? ? ? <Form.Item name="RoleId">

? ? ? ? ? <Tree

? ? ? ? ? ? checkable

? ? ? ? ? ? onSelect={onSelect}

? ? ? ? ? ? onCheck={onCheck}

? ? ? ? ? ? treeData={rolelist}

? ? ? ? ? />

? ? ? ? </Form.Item>

? ? ? </Form>

? ? </Modal>

? )


};


export default AssignForm;


react +ts+antd中tree和From和諧相處的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
会东县| 咸丰县| 平湖市| 盐池县| 余干县| 天长市| 公主岭市| 泽州县| 寿宁县| 乌拉特中旗| 收藏| 麻栗坡县| 武穴市| 土默特左旗| 南投县| 马龙县| 吉安县| 景宁| 民权县| 和林格尔县| 延安市| 弋阳县| 黄梅县| 南开区| 长汀县| 太白县| 海伦市| 韶关市| 元江| 肇州县| 靖西县| 崇义县| 安康市| 双辽市| 武陟县| 绿春县| 红桥区| 长海县| 晋江市| 辉县市| 县级市|