最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
张掖市| 桐乡市| 黎城县| 南部县| 澳门| 若羌县| 宁安市| 顺义区| 治多县| 洪江市| 荆门市| 扬州市| 石柱| 巴东县| 二连浩特市| 留坝县| 疏附县| 光山县| 朝阳市| 同心县| 松滋市| 静宁县| 体育| 黄梅县| 南开区| 甘洛县| 来宾市| 嵊州市| 巴中市| 万安县| 龙陵县| 团风县| 秭归县| 榆林市| 邵阳市| 特克斯县| 靖远县| 中卫市| 普兰店市| 祁阳县| 思茅市|