2024 - Flycurvy  2024 - Flycurvy
(function () { class SPZCustomMbFilter extends SPZ.BaseElement { constructor(element) { super(element); // 模板代码, 按需复制 this.xhr_ = SPZServices.xhrFor(this.win); this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); } isLayoutSupported(layout) { // 支持的 layout 类型, 若无界面, 限定 "logic" return layout === 'logic'; } buildCallback() { this.setupAction_(); } trigger_(name, data) { const event = SPZUtils.Event.create(this.win, 'spz-custom-mb-filter.${name}', { data }); this.action_.trigger(this.element, name, event); } setupAction_() { // 注册 spz 方法, 这里是供其他组件事件中调用的方法 this.registerAction('select', (invocation) => { const data = {}; const mbFilter = document.querySelector('.custom_solution_size_filter_modal'); const checked = mbFilter.querySelectorAll('div[selected="true"]'); let resultStr = '' checked.forEach(ele=>{ resultStr = resultStr + ',' + ele.getAttribute('value'); }); const resultArr = resultStr.split(',').filter(ele=>!!ele); data.selectedOptions = resultArr; data.values = [resultArr[0]]; data.targetOption = resultArr[resultArr.length-1]; this.trigger_('select', data); }); } mountCallback() { // } } SPZ.defineElement('spz-custom-mb-filter', SPZCustomMbFilter); })()
137 Products
137 Products