Soy nuevo en strapi y trato de crear un componente personalizado para mostrar algunas casillas de verificación HTML basadas en una respuesta API de otro sistema. Básicamente, la lista de casillas de verificación se agregará a un formulario (que es otro componente de strapi). Hasta ahora lo que he hecho es
/src/plugins/CheckboxList/admin/src/components/CheckboxList ). Aunque el objetivo final es obtener la lista de casillas de verificación, se agrega un campo de entrada de texto para fines de prueba. app.addFields([ { type: "checkbox_list", Component: CheckboxList, }, ]); método en ( /src/plugins/CheckboxList/admin/src/index.js )
field mediante el siguiente fragmento: // in field.json "checkbox_list": { "type": "checkbox_list", "columnType": "longText" }Actualmente, el cuadro de texto está visible en la Colección del administrador de contenido en el administrador de strapi y, según mi inspección, los datos actualizados en el cuadro de texto también se pasan a los accesorios de reacción. Sin embargo, no veo que los datos se guarden en la plataforma strapi. ¿Me estoy perdiendo algo o estoy haciendo algo mal? o ¿No es realmente posible crear un componente personalizado en strapi v4 que inserte datos en campos personalizados?
Necesito ayuda en esto. Gracias por adelantado.
Antes de esperar el lanzamiento oficial del plan de campo personalizado ( https://github.com/strapi/rfcs/pull/42 ). Puede consultar el ejemplo de youtube proporcionado por strapi ( https://www.youtube.com/watch?v=55KJ2sCX8ws ). O puede encontrar un ejemplo de código en ( https://github.com/samMeow/strapi-v4-custom-field-example )
La idea básica es registrar su campo como v3, pero también debe hacer uso de Hooks predefinidos (no hay muchos detalles en la documentación oficial) para mutar la vista de edición. De tal manera que strapi BE todavía se guarda como columnType pero se procesa de manera diferente.
Por ejemplo, en su caso, puede tener checkbox_list como tipo de longtext y agregar algunos parámetros reconocibles como pluginOptions.columnType como checkbox_list . Luego, en la fase MutateEditViewLayout, elija esos parámetros y cámbielos como tipo checkbox_list .