首页 > 其他分享 >react antd 表头分组渲染的问题记录

react antd 表头分组渲染的问题记录

时间:2023-06-11 19:57:00浏览次数:35  
标签:render title text 表头 react record antd dataKey unitPrice

import React, { useEffect } from 'react'
import { observer } from 'mobx-react'
import { get } from 'lodash'


import { Modal } from 'antd'

import SelfTable from '@/view/common/self_table/self-table'

import ST from '../store'

const columns = [
  {
    title: '商品名称',
    dataKey: 'productName',
  },
  {
    title: '产品类别',
    dataKey: 'type',
  },
  {
    title: '型号规格',
    dataKey: 'model',
  },
  {
    title: '品牌',
    dataKey: 'brand',
  },
  {
    title: '第一次报价',
    dataKey:'firstQuoted',
    children: [
      {
        title: '数量',
        dataKey: 'firstQuoted.number',
        render: (text, record) => {
          const unitPrice =get(record, 'firstQuoted.number','--');
          return <span>{unitPrice}</span>;
        },
      },
      {
        title: '目标含税价(元)',
        dataKey: 'firstQuoted.unitPrice',
        render: (text, record) => {
          const unitPrice =get(record, 'firstQuoted.unitPrice','--');
          return <span>{unitPrice}</span>;
        },
      },
      {
        title: '备注',
        dataKey: 'firstQuoted.remark',
        render: (text, record) => {
          const unitPrice =get(record, 'firstQuoted.remark','--');
          return <span>{unitPrice}</span>;
        },
        // render: (text: string) => <span className="ellipsis">{text || '--'}</span>,
      },
    ],
  },
  {
    title: '第二次报价',
    dataKey:'secondQuoted',
    children: [
      {
        title: '数量',
        dataKey: 'secondQuoted.secondQuotedNum',
        render: (text, record) => {
          const unitPrice =get(record, 'secondQuoted.secondQuotedNum','--');
          return <span>{unitPrice}</span>;
        },
      },
      {
        title: '目标含税价(元)',
        dataKey: 'secondQuoted.secondQuotedPrice',
        render: (text, record) => {
          const unitPrice =get(record, 'secondQuoted.secondQuotedPrice','--');
          return <span>{unitPrice}</span>;
        },
      },
      {
        title: '备注',
        dataKey: 'secondQuoted.secondQuotedRemark',
        render: (text, record) => {
          const unitPrice =get(record, 'secondQuoted.secondQuotedRemark','--');
          return <span>{unitPrice}</span>;
        },
        // render: (text: string) => <span className="ellipsis">{text || '--'}</span>,
      },
    ],
  },
]

// 详情弹窗
export default observer((props) => {
  useEffect(() => {
    console.log('加载完成',ST.currentRecord?.id)
    ST.getDetailInfo(ST.currentRecord?.id)
  }, [ST.currentRecord])

  return (
    <Modal
      title="明细信息"
      open={ST.detailShow}
      onOk={() => {
        ST.setDetailShow(false)
      }}
      onCancel={() => {
        ST.setDetailShow(false)
      }}
      width={1000}
    >
      <SelfTable
        rowKey="id"
        columns={columns}
        dataSource={ ST.detailInfo||[]}
        pagination={false}
        loading={ST.detailLoading}
      />
    </Modal>
  )
})

标签:render,title,text,表头,react,record,antd,dataKey,unitPrice
From: https://www.cnblogs.com/cn-oldboy/p/17473458.html

相关文章

  • React - 06 初步尝试封装组件
    1.封装dialog组件调用2.函数组件是静态组件/*函数组件是“静态组件”第一次渲染组件,把函数执行+产生一个私有的上下文:EC(V)+把解析出来的props「含children」传递进来「但是被冻结了」+对函数返回的JSX元素「virtualDOM」进行渲染当我们点击按钮的......
  • React - 28 redux部分源码解析
    myRedux.jsimport_from'./assets/utils';/*实现redux的部分源码*/exportconstcreateStore=functioncreateStore(reducer){if(typeofreducer!=='function')thrownewError("Expectedtherootreducertobeafunction");......
  • 【React工作记录九十六】docker部署前后端项目在云服务器
    前言大家好我是歌谣最近开始前端和后端的学习需要部署项目在服务器上面命令部分目前只会部署的部分前端前彻底端的目录是在/ngng/html下面dockerrestartngng重新启动容器前端文件放置后端后端的文件在project下面步骤1dockerstopgeo2dockerrm-fgeo3dockerrmi-fgg......
  • react项目入口文件即调用顺序
    react项目入口文件,指的是启用react项目的主文件,它通常是一个JavaScript文件,包含了项目组件,并将这些组件渲染到界面上。该文件通常命名为index.js或app.js,并被放在应用程序的根目录中。使用cra创建的react项目入口文件是src目录下的index.js。这是一个简单的React入口文件示......
  • React - 04 函数组件的底层渲染机制
    1.函数组件创建:在SRC目录中,创建一个xxx.jsx的文件,就是要创建一个组件;我们在此文件中,创建一个函数,让函数返回JSX视图「或者JSX元素、virtualDOM虚拟DOM对象」;这就是创建了一个“函数组件”!!调用:基于ES6Module规范,导入创建的组件「可以忽略.jsx后缀名」,然后像写标签一样调用这个组......
  • React - 03 JSX语法示例及JSX渲染机制
    1.根据变量控制元素显示/隐藏2种方式,方式1会渲染但不显示,方式2不会渲染元素2.循环列表渲染用数组的map方法,直接将要循环的元素返回如果数组的每个元素都是empty,则为稀疏数组,否则为密集数组,即使每个元素都是null也是密集数组3.JSX渲染机制第一步:把我们编写的JSX语法,编译为虚拟DOM对......
  • React技术栈
    React技术栈分享React、Redux和ReactRouter是当前前端开发中非常常用的技术栈组件,而他们之间的结合则可以带来更加强大和灵活的开发能力。本文将为大家分享使用React、Redux和ReactRouter的经验。首先,我们需要知道这三个技术组件的作用以及如何结合使用。React是一个......
  • ABAP——多表头ALV(单元格合并)
    参考:https://tricktresor.de/blog/zellen-verbinden效果:按照参考链接建立类ZCL_GUI_ALV_GRID:类方法ZCL_GUI_ALV_GRID~Z_SET_MERGE_HORIZMETHODZ_SET_MERGE_HORIZ.*ROW-ZeilederenSpaltenzusammengef�hrtwerdensollen*tab_col_merge-Spalten,diezusammen......
  • taro使用taro3-echarts-react报错,图表不出来
    问题taro版本3.6.2taro3-echarts-react版本1.0.4在taro小程序开发中,使用taro3-echarts-react时,echarts版本需要选择4.9.0,但是我们往往需要使用高版本的echarts,但是引入echarts.js文件后,控制台报错:el.addEventListenerisnotafunction或者t.addEventListenerisnotaf......
  • 深入解析React DnD拖拽原理,轻松掌握拖放技巧!
    我们是袋鼠云数栈UED团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。。本文作者:霁明一、背景1、业务背景业务中会有一些需要实现拖拽的场景,尤其是偏视觉方向以及移动端较多。拖拽在一定程度上能让交互更加便捷,能......