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

128
Vistas
Formulario no actualizado cuando se cambian los valores de la tienda enlazada

Tengo un formulario con varios elementos. Por ejemplo, un cuadro combinado, aquí la parte Ver:

 xtype: 'combobox', fieldLabel : 'Position de la commission', labelAlign : 'top', padding:'20 0 0 0', displayField: 'parametreLibelle', valueField: 'parametreValeur', queryMode: 'local', bind : { value: '{argumentairePosition}', store : '{positionsCommissionStore}' }, reference : 'argumentairePosition', itemId:'argumentairePosition', listeners: { click: { element: 'inputEl', fn: 'onArgumentairePositionClick' } }

Llamo a una función que debería cambiar el valor seleccionado en el cuadro combinado:

 onAmendementReferenceChange: function() { let me = this; let amdtId = this.lookupReference('amendementDeReference').value; me.ajaxRequest({ url: '/eloi/grille/changerAmendementReferenceArgumentaire', method: 'GET', params: { amdtId: amdtId }, successFn: function (record) { let serverResponse = record && record.responseText ? Util.decodeJson(record.responseText) : undefined; let formulaireData = serverResponse ? serverResponse.data : undefined; if (formulaireData) { let vm = me.getViewModel(); let store = vm.get('argumentaireRendreIdentiqueStore').first(); store.set('argumentaireObjet', formulaireData.argumentaireObjet); store.set('argumentaireTexte', formulaireData.argumentaireTexte); store.set('argumentairePosition', formulaireData.argumentairePosition); // Breakpoint here store.set('argumentairePositionRapporteur', formulaireData.argumentairePositionRapporteur); store.set('argumentaireAmendementId', formulaireData.argumentaireAmendementId); //me.getView().refreshView(); } } }); }

Cuando coloco un punto de interrupción en mi navegador en la línea indicada por un comentario, puedo ver que el valor de la tienda en realidad está cambiando (observando store.get('argumentaireObjet') en el depurador antes y después de la línea), pero el el contenido de mi formulario no está actualizado en mi página. Y no puedo entender por qué. ¿Alguna idea?

Probé varios trucos para actualizar el formulario, pero normalmente, el enlace debería funcionar. No debería tener que actualizar. ¿Qué me estoy perdiendo?

Estoy usando ExtJS 6.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

OK, esto realmente está funcionando. Necesitaba cambiar el valor en ViewModel, no en la Tienda.

 onAmendementReferenceChange: function() { let me = this; let amdtId = this.lookupReference('amendementDeReference').value; me.ajaxRequest({ url: '/eloi/grille/changerAmendementReferenceArgumentaire', method: 'GET', params: { amdtId: amdtId }, successFn: function (record) { let serverResponse = record && record.responseText ? Util.decodeJson(record.responseText) : undefined; let formulaireData = serverResponse ? serverResponse.data : undefined; if (formulaireData) { let vm = me.getViewModel(); vm.set('argumentaireObjet', formulaireData.argumentaireObjet); vm.set('argumentaireTexte', formulaireData.argumentaireTexte); vm.set('argumentairePosition', formulaireData.argumentairePosition); vm.set('argumentairePositionRapporteur', formulaireData.argumentairePositionRapporteur); vm.set('argumentaireAmendementId', formulaireData.argumentaireAmendementId); } } }); }
about 4 years ago · Juan Pablo Isaza 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