Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

459
Vistas
Insertar icono en la tabla de columnas AntD según el dispositivo de datos

tengo un problema aqui por favor alguien me puede ayudar? Tengo un problema con la tabla Ant Design aquí, en la columna Fuente aquí quiero insertar un ícono, ya he insertado un ícono pero quiero que el ícono cambie según los datos del dispositivo, si el Id del dispositivo = 1 sería "Humano Icon" que aparecerá, pero si ID de dispositivo = 2, será "Icono de computadora" el que se mostrará.

ingrese la descripción de la imagen aquí

Aquí está el código:

 import React, { useEffect, useState } from 'react'; import { Card, Col, Divider, Layout, Row, Table, Tag } from 'antd'; import React, { useEffect, useState } from 'react'; import axios from 'axios'; import { Content, Footer, Header } from 'antd/lib/layout/layout'; import 'antd/dist/antd.css'; import '../Page/Dashboard.css'; import { LaptopOutlined, UserAddOutlined, UserOutlined } from '@ant-design/icons'; const columns = [ { title: "No", dataIndex: "id", key: "id", }, { title: 'Device ID', dataIndex: "dev_id", key: "dev_id", }, { title: 'Message ID', dataIndex: "msg_id", key: "msg_id", }, { title: 'Time Stamp', dataIndex: "time_stamp", key: "time_stamp", }, { title: 'RFID', dataIndex: "rfid", key: "rfid", }, { title: 'Data Hewan', dataIndex: "animals", key: "animals", }, { title: 'Weight (kg)', dataIndex: "weight", key: "weight", }, { title: 'Temperature (Celcius)', dataIndex: "temp", key: "temp", }, { title: 'Tags', dataIndex: "tags", key: "tags", render: (_, { tags }) => ( <> {tags.map((tag) => { let color = 'geekblue'; if (tag === 'Invalid Data') { color = 'volcano'; } else { color = 'geekblue'; } return ( <Tag color={color} key={tag}> {tag.toUpperCase()} </Tag> ); })} </> ), }, { title: 'Source', dataIndex: "", key: "", render: text => <UserOutlined /> } ]; export default function Dashboard(){ return ( <Table column={columns} dataSource={dataQurban} /> )}

Gracias espero que me puedas ayudar!

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

{ title: 'Source', dataIndex: "", key: "", render: (_: any, record: any) => record.dev_id === 1 ? <UserOutlined /> : <ComputerIcon /> }

El código anterior es la solución directa.

También puede definir una variable si desea optimizar el código.

 const iconObj = { 1: <Icon1 />, 2: <Icon2 />, 3: <Icon3 />, // ... } // ... { title: 'Source', dataIndex: "", key: "", render: (_, record) => iconObj[record.dev_id] }
about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda