Interpolación de script para objeto [PREGUNTA]
Los objetos/arrays @Ramkumar-Murugesan aún no están soportados, los añadiremos en la próxima versión. Por ahora, si necesitas un objeto/array en el script, crea otra propiedad con una versión JSON.stringify del original (pon un oyente en el original para actualizar el stringified)
Lee la respuesta completa abajo ↓Pregunta
Hola a todos, Sé que usamos valores de cadena externos en la función script asignando la variable con valor en triatos personalizados. pero intenté pasar el objeto o el array. No conseguí los valores correctos. Me he quedado atascado con ella, ¿alguien puede ayudarme, por favor?
Mis rasgos:-
comps.addType(buttonName, {
model: defaultModel.extend({
defaults: Object.assign({}, defaultModel.prototype.defaults, {
arrastrable: '*',
Droppable: falso,
myModelCount: 5,
miModeloNombreProp: { nombre: 'age' },
script: función () {
const first = '{[ miNombrePropModelo ]}';
prueba const = JSON.stringify(primero);
console.log('pantallas la variable global ----333-- ', JSON.parse(test));
const mycount = '{[ myModelCount ]}';
const initAgGrid = () => {
console.log('dentro de -----', mi conde);
const columnDefs = [];
para (sea i = 0; i < 5; i++) {
console.log(' por loopppp ----- ', i);
}
const columnDefs = [
{
NombreEncabezado: 'A',
Campo: 'A',
Sortable: Cierto,
colId: 'col1_id'
},
{
NombreEncabezado: 'B',
Field: 'b.name',
Sortable: Cierto,
colId: 'col2_id'
},
{
Nombre del encabezado: 'C',
FIELD: 'c.name',
Sortable: Cierto,
colId: 'col3_id'
},
{
Nombre de cabecera: 'D',
Field: 'd.name',
Sortable: Cierto,
colId: 'col4_id'
},
{
NombreEncabezado: 'E',
FIELD: 'e.name',
Sortable: Cierto,
colId: 'col5_id'
}
];
function createRowData() {
const rowData = [];
para (sea i = 0; i < 100; i++) {
crear ejemplo de elemento de fila
const rowItem = {
es simple
a: 'aa' + Math.floor(Math.random() * 10000),
Pero B, C, D y E son todos objetos complejos
b: {
nombre: 'bb' + Math.floor(Math.random() * 10000)
},
c: {
nombre: 'cc' + Math.floor(Math.random() * 10000)
},
d: {
nombre: 'dd' + Math.floor(Math.random() * 10000)
},
e: {
nombre: 'ee' + Math.floor(Math.random() * 10000)
},
f: {
nombre: 'ee' + Math.floor(Math.random() * 10000)
}
};
rowData.push(rowItem);
}
return rowData;
}
this.gridOptions = {
defaultColDef: {
Editable: Cierto
},
columnDefs: columnDefs,
rowData: createRowData(),
componentes: {
boldRenderer: function (params) {
regresa '<b>' + params.value.name + ''</b>;
}
},
onGridReady: función (params) {
params.api.sizeColumnsToFit();
window.addEventListener('resize', function () {
setTimeout(función () {
params.api.sizeColumnsToFit();
});
});
},
paginaciónAutoPáginaTamaño: cierto,
Paginación: Cierto,
};
const gridDiv = document.querySelector('#myGrid');
tslint:desactivar-línea-siguiente:no-un-expression-
nuevo agGrid.Grid (gridDiv, this.gridOptions);
this.gridOptions.cacheQuickFilter = false;
this.gridOptions.api.sizeColumnsToFit();
};
Sea existe = falso;
const url = 'https://unpkg.com/[email protected]/dist/ag-grid-community.min.js';
scripts const = document.getElementsByTagName('script');
para (sea i = scripts.length; i--;) {
if (scripts[i].src === URL) {
existe = verdadero;
}
}
si (existe) {
initAgGrid();
} else {
const script = document.createElement('script');
script.onload = initAgGrid;
script.src = URL;
document.body.appendChild(script);
}
},
Rasgos: [{}]
}),
Capturas de pantalla ! imagen
en la captura de pantalla anterior. El valor myModelCount se imprime, pero el valor myModelPropName muestra [objeto, objeto] dentro de la función script.
Respuestas (1)
Los objetos/arrays @Ramkumar-Murugesan aún no están soportados, los añadiremos en la próxima versión. Por ahora, si necesitas un objeto/array en el script, crea otra propiedad con una versión JSON.stringify del original (pon un oyente en el original para actualizar el stringified)
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #951
[PREGUNTA] La selección de componentes personalizados no es posible desde el lienzo.
Hola, Intenté averiguarlo por mi cuenta, pero siento que estoy dando vueltas un poco en círculos. Así que espero que tengáis tiempo para le...
Issue #3732
El tipo de componente de comentario no soporta añadir rasgos
Estoy trabajando en un script que añade un rasgo a todos los tipos de componente, pero el tipo de comentario no tiene el objeto prototipo....
Issue #3119
[PREGUNTA] ¿Cómo crear un bloque personalizado hecho con componentes de grapesjs?
Hola, quiero que me hagan bloques personalizados con componentes de grapesjs. Encontré la solución para añadir componentes: https://github....
Issue #2337
[INSECTO / PREGUNTA] Eliminar los estilos predeterminados no funciona
Hola, Estoy intentando eliminar algunos de los estilos predeterminados de los bloques. Escribí todo lo que cambié en un plugin. Utilicé est...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.