odoo 14 get selected recored is tree view JS

问题描述

我想从树视图中获取所选记录的 id

所做的是在视图中添加一个按钮,单击该按钮时我会在我的 python 函数 self.selectedRecords 中获得 test_func 但我没有获得

但我收到了 ['sale.order_33','sale.order_40','sale.order_48']

而不是['sale.order_19','sale.order_18','sale.order_2']

enter image description here


ListController.include({
        renderButtons: function($node) {
            this._super.apply(this,arguments);
            var self = this;
            if (this.$buttons) {
                $(this.$buttons).find('.oe_new_custom_button').on('click',function() {
                    rpc.query({
                        model: 'sale.order',method: 'test_func',args: [self.selectedRecords],}).then(function(res){
                        console.log(self.selectedRecords);
                        console.log(res);
                    });
                });
            }
        },});

class test_func_report(models.Model):
    _inherit = 'sale.order'
        
    @api.model
    def test_func(self,selectedRecords):
        _logger.warning(self)
        _logger.warning(selectedRecords)

解决方法

使用 getSelectedIds() 方法获取当前选择的记录 ID。

使用 self.getSelectedIds() 而不是 self.selectedRecords