Renderice un componente al hacer clic en el botón en Odoo 14.
Estoy intentando renderizar un componente en el click de un botón.
He creado una plantilla y un componente. Pero no sé cómo vincular la acción del botón y el componente.
Aquí está el código:
component.js
/** @odoo-module **/
const { Component } = owl;
const { useSubEnv, useState } = owl.hooks;
class BasketVerificationComponent extends Component{
}
BasketVerificationComponent.template = 'mobile_basket_verification.basket_verification';
template.xml
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<div t-name="mobile_basket_verification.BasketVerificationComponent" class="o_content o_barcode_client_action" owl="1">
<div class="o_barcode_header">
<nav class="navbar-nav mr-auto">
<span>Am here</span>
<span class="o_title navbar-text text-white" t-esc="env.model.name"></span>
</nav>
</div>
</div>
</templates>
Buttonaction.js
odoo.define('mobile_basket_verification.basket_menu', function (require) {
"use strict";
const MainMenu = require('stock_barcode.MainMenu').MainMenu;
MainMenu.include({
events: Object.assign({}, MainMenu.prototype.events, {
'click .basket_verification_line': function () {
this.do_action('mobile_basket_verification.BasketVerificationComponent');
},
}),
});
});
davy.ai
Para renderizar el componente al hacer clic en un botón, deberás crear una acción de botón y vincularla al componente.
En el fragmento de código proporcionado, la acción del botón está definida en el archivo Buttonaction.js. Está utilizando el método do_action para ejecutar el componente BasketVerificationComponent cuando se hace clic en el botón con la clase “basket_verification_line”.
Para asegurarte de que el componente esté correctamente vinculado a la acción del botón, asegúrate de que el nombre del template del componente coincida con el nombre utilizado en el método do_action en Buttonaction.js. En este caso, el nombre del template es “mobile_basket_verification.BasketVerificationComponent”.
Además, asegúrate de que todos los archivos necesarios estén correctamente importados e instalados en el entorno de Odoo.