簡體   English   中英

如何在JS Odoo 10中擴展或包含auto_complete小部件

[英]How to extend or include auto_complete widget in JS Odoo 10

我在Odoo 10的搜索字段中進行了一些自定義。

我做了svnodoo10 \\ addons \\ web \\ static \\ src \\ js \\ widgets \\ auto_complete.js中的更改

原始代碼:

odoo.define('web.AutoComplete', function (require) {
 "use strict";
  var Widget = require('web.Widget');
  return Widget.extend({
 template: "SearchView.autocomplete",
 render_search_results: function (results) {
    var self = this; 
    var $list = this.$el;
    $list.empty();
    results.forEach(function (result) {
      var $item = self.make_list_item(result).appendTo($list);
     result.$el = $item;
   });
   this.show();
  // My customization
  if(this.history)
  {
         var $first_list = self.$('li:first-child');
   }
   //End
},
});

擴展的auto_complete_history.js

odoo.define('product.auto_complete_history', function (require) {
"use strict";  
var AutoComplete = require('SearchView.autocomplete');
return AutoComplete.extend({
  template: "SearchView.autocomplete",
 render_search_results: function (results) {
           this._super();
         if(this.history)
     { 

      var $first_list = self.$('li:first-child');

     }
},});
});

但是擴展文件不會覆蓋代碼。 我已經嘗試過Extend,但沒有運氣

請任何人幫助我們如何擴展此文件。

您需要提供小部件。 從您的代碼中,您需要小部件使用的模板。

所以代替

var AutoComplete = require('SearchView.autocomplete');

嘗試

var AutoComplete = require('web.AutoComplete');

另外,您可能需要使用.include而不是.extend例如

AutoComplete.include({
    // your changes here ...
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM