Eso es solo para demostrar cómo puedes complementar los renderizadores que usas y proporcionar algunos metadatos adicionales o props a ellos. Por último, voy a mostrarte cómo puedes usar un renderizador simple y este es un renderizador en línea. Y esto es probablemente algo que podrías querer hacer si estás haciendo pruebas o era un renderizador súper simple, algo que no vas a compartir. Puedes simplemente usar un renderizador en línea. Así que no necesitas especificarlo externamente. Puedes decir algo como, mi renderizador en línea, p.value. Así que esto es lo mismo que arriba realmente, pero tienes tu en el navegador, ves mi renderizador en línea y el valor. Así que finalmente puedes especificar algo en línea, no tienes que externalizarlo ya sea en un archivo separado o en un const separado como hemos hecho aquí. Si es súper simple, o si solo estás haciendo depuración o jugando, puedes hacerlo en línea como lo he hecho allí.
Bien, ¿qué sigue? Digamos que tienes un escenario donde quieres tener diferentes renderizadores basados en el valor de la columna. Así que podrías querer decir, renderizador X si los datos son uno y renderizador Y si los datos son dos, puedes elegir dinámicamente lo que vas a mostrar basado en selectores de renderizador de celda. Déjame mostrarte eso. Así que puedes tenerlo estático y ese es probablemente el caso de uso más común donde lo especificarías así, pero puedes tener un dinámico con selector de renderizador de celda. Y eso es una función que devuelve un objeto. Y de nuevo, solo para recordarte, este es el caso de uso si quieres diferentes renderizadores en una celda y quieres cambiar dinámicamente entre ellos basado en los datos de la fila o algún otro factor externo. En nuestro caso, lo haremos basado en los datos de la fila. Así que, si el valor es igual a 2000, vamos a devolver y especificar componentes, mi renderizador. Vamos a usar esto en un campo diferente en realidad. Si p.value es igual a 2004, vamos a devolver, describiré lo que he hecho aquí en un segundo. En este caso, vamos a tener un componente en línea. Solo voy a mover esto a otro campo. Quiero que esto esté en el campo de año. Estoy yendo bastante rápido, pero describiré lo que acabo de hacer aquí. He movido esto, he agregado una propiedad llamada selector de renderizador de celda, y eso se activa por datos de fila para esta columna, para cada fila en la columna de año del país. Esto se activará. Pasará P, que tiene la API, API de cuadrícula, los datos de la fila, y específicamente el valor de la celda para esa celda. Y lo que estamos haciendo aquí es decir si el valor, o si el valor del año es 2000, devolveremos mi celda, mi renderizador, el que especificamos arriba con el botón. Y si el valor es 2004, vamos a crear, devolver un componente en línea simple, y si el valor no es ni 2000 ni 2004, simplemente mostraremos el valor sin procesar. Así que guardemos eso y veamos qué pasa. Así que, aquí puedes ver para este valor, para esta fila, el valor del año es 2008, no hemos especificado qué hacer con 2008, así que la cuadrícula simplemente mostrará los datos sin procesar. Si el valor es 2004, vamos a devolver este componente en línea aquí, mis componentes en línea y agregar el valor, y finalmente, si el valor es 2000, vamos a usar mi renderizador con el botón, como dijimos antes. Así que, si quieres que algunas filas tengan una funcionalidad o renderizado especial, puedes usar dinámicamente, hacerlo, con mi selector de renderizador de celda. Cualquier renderizador que hagas, uses, aún puedes complementarlo con parámetros de renderizador de celda, como he hecho aquí. Así que, por ejemplo, en, ¿estoy silenciado? Dios, lo revisaré. No creo que esté silenciado. ¿Alguien más puede oírme? No para mí, no es, genial. Woo, me alegra escucharlo. Así que, lo siento por Joe, debe ser algo en tu extremo, me temo. Así que, solo para repetir, lo que sea que devolvamos, si es un renderizador personalizado, podemos complementarlo con parámetros de renderizador de celda, y lo que sea que hagamos en los parámetros de renderizador de celda estará disponible en los props. Si no especificas un componente y un renderizador para usar, la cuadrícula simplemente mostrará el valor sin procesar de los datos adyacentes. Espero que eso tenga sentido. Así que, sí, lo siento, Joe, no estoy seguro de poder ayudarte. Si otras personas pueden escuchar, debe ser algo en tu extremo, me temo, pero no creo que pueda ayudarte, Joe, disculpas. Bueno, no puedes oírme, supongo. Así que, solo para recapitular, describimos cómo puedes especificar un renderizador de celda. Todo lo que necesitas hacer es renderizador de celda y luego tu renderizador, así que en este caso, MiRenderizador así. También puedes tener renderizadores en línea, hola, así. Y finalmente, puedes tener renderizadores de celdas dinámicos y puedes elegir diferentes renderizadores basados en los datos de la columna. Espero que eso tenga sentido para todos. Eso fue bastante rápido. Solo tomaré otro sorbo de agua. Solo para recapitular, te recordamos que los renderizadores que he hecho aquí son bastante simples. Son simples, tienen botones simples y datos simples, pero podrías tener cualquier cosa. Podrías tener un gráfico o un deslizador dinámico o ruedas giratorias. Cualquier cosa que React pueda renderizar en nuestros componentes, componentes funcionales o basados en clases, puedes renderizar dentro de la cuadrícula. El tamaño de los componentes obviamente cambiaría el tamaño de la fila. Así que si tuvieras esos componentes con botón de atleta, y si tuvieras esos 30 píxeles de alto, toda la fila sería de 36 píxeles de alto para mostrar eso, pero este punto es cualquier componente de React que quieras renderizar en la cuadrícula, si es un componente de React válido, puede renderizarse en la cuadrícula. ¿Cómo se renderiza la celda si la línea es demasiado larga? Bien, así que he respondido eso. Si tuvieras un componente, digamos, que estaba mostrando un componente de varias líneas con imágenes y demás, llenaría esa altura. Así que, por ejemplo, si tuvieras algo que estaba mostrando una imagen de 100 píxeles de alto con un párrafo al lado, entonces toda la fila, así que esta columna, sería de esa altura, 100 píxeles de alto, con texto al lado. Así que toda la fila sería de 100 píxeles de ancho. La altura de la fila está determinada por la celda más alta, la celda más grande en esa fila. Así que si todas las demás filas, celdas son de 20 píxeles de alto y el renderizador dinámico tiene 100 píxeles o más, será 100 píxeles más alto, es bastante dinámico. Sí, es Bruno, es dinámico. Sí, puedes anular eso. Puedes decir que absolutamente quieres que tus alturas de fila sean de 50 píxeles y todo lo demás se recorte, por ejemplo, pero por defecto, será dinámico. Toma otro simple agua aquí.
Bien, así que pasaremos a la siguiente sección. Y va más allá con renders personalizados. Y así, no, no es, se llama filtros de commit. Así que vamos a tocar esta sección, sobre Filtros. En la primera sección o dos, te mostré cómo habilitar filtros, y de fábrica con Enterprise Edition, obtienes el filtro de conjunto como predeterminado, que es algo que probablemente veríamos aquí. Así que ves que este es un filtro de conjunto, que describiremos más adelante. Eliminemos la funcionalidad de Enterprise, y actualicemos. No te preocupes por este mensaje de error. Y hemos vuelto a un filtro simple. Así que esto solo para discutir, inicialmente, por ahora. Proporcionamos de fábrica tres filtros de fábrica en la Community Edition. De nuevo, la Community Edition es gratuita para que la uses, y comercialmente, no necesitas una licencia, y de fábrica, proporcionamos un filtro de texto, un filtro de número y un filtro de fecha. Así que vamos a repasarlos uno por uno. Voy a eliminar el código del renderizador, solo por simplicidad. Recuerda que el código está en. Si quieres recapitular lo que he hecho, solo ve a mirar el repositorio de Github para la sección particular que te interesa. Estará allí. Solo voy a eliminar este código para que podamos ver solo lo que estoy tratando de describir. Deja que esta red pueda ir. Y ahí vamos. Así que volvemos a una Community Edition simple. No hay código de Enterprise aquí ahora. Lo primero que vamos a ver es el filtro de texto.
Comments