From 1a1303f4f3c933dcfb67df7f1f630159e6ee0740 Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期四, 11 四月 2024 20:03:36 +0800
Subject: [PATCH] 123
---
force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js | 54 ++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 42 insertions(+), 12 deletions(-)
diff --git a/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
index e795b39..725a643 100644
--- a/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
+++ b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
@@ -1,13 +1,14 @@
/* Code by CafeForce || www.cafeforce.com || support@cafeforce.com || Mandatory Header */
import { LightningElement, track, api } from 'lwc';
-
+import lexHandCss from '@salesforce/resourceUrl/lexHandCss';
+import {loadStyle} from 'lightning/platformResourceLoader';
export default class MultiSelectCombobox extends LightningElement {
@api options;
@api selectedValue;
@api selectedValues = [];
@api label;
- @api minChar = 2;
+ @api minChar = 1;
@api disabled = false;
@api multiSelect = false;
@api myValue;
@@ -15,11 +16,15 @@
@track value;
@track values = [];
@track optionData;
- @track searchString;
+ @api searchString;
@track message;
@track showDropdown = false;
@api placeholder = '--鏃�--';
+ @track errorFlag = false;
connectedCallback() {
+ Promise.all([
+ loadStyle(this, lexHandCss)
+ ]);
this.showDropdown = false;
var optionData = this.options ? (JSON.parse(JSON.stringify(this.options))) : null;
var value = this.selectedValue ? (JSON.parse(JSON.stringify(this.selectedValue))) : null;
@@ -51,6 +56,15 @@
get isRequired() {
return this.required;
+ }
+ closeAction(){
+ this.showDropdown = false;
+ }
+ handlePayModeOpen() {
+ setTimeout(() => {
+ const topDiv = this.template.querySelector('[data-id="scrollSec"]');
+ topDiv.scrollTop = topDiv.scrollHeight;
+ }, 20);
}
filterOptions(event) {
@@ -112,7 +126,20 @@
event.preventDefault();
else
this.showDropdown = false;
+ this.dispatchEvent(new CustomEvent('select', {
+ detail: {
+ 'payloadType' : 'multi-select',
+ 'payload' : {
+ 'value' : this.value,
+ 'values' : this.values
+ }
+ }
+ }));
}
+ }
+
+ dontClose(event){
+ event.preventDefault();
}
showOptions() {
@@ -159,6 +186,17 @@
count++;
}
}
+ if(!previousLabel){
+ var element = this.template.querySelector('[data-id="myinput"]');
+ element.classList.add('slds-has-error');
+ this.errorFlag = true;
+ this.showDropdown = false;
+ }else{
+ var element = this.template.querySelector('[data-id="myinput"]');
+ element.classList.remove('slds-has-error');
+ this.errorFlag = false;
+ this.showDropdown = false;
+ }
if(this.multiSelect)
this.searchString = count + ' Option(s) Selected';
else
@@ -166,15 +204,7 @@
this.showDropdown = false;
- this.dispatchEvent(new CustomEvent('select', {
- detail: {
- 'payloadType' : 'multi-select',
- 'payload' : {
- 'value' : this.value,
- 'values' : this.values
- }
- }
- }));
+
}
}
/*
--
Gitblit v1.9.1