[英]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.