From 5d4f265aab8e9813eaa2a9d6eb6247955218f8ef Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期一, 15 四月 2024 11:59:45 +0800
Subject: [PATCH] 123
---
force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js | 63 +++++++++++++++++++++++++------
1 files changed, 50 insertions(+), 13 deletions(-)
diff --git a/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
index 67085ff..725a643 100644
--- a/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
+++ b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
@@ -1,23 +1,30 @@
/* 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;
+ @api required;
@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;
@@ -45,6 +52,19 @@
this.value = value;
this.values = values;
this.optionData = optionData;
+ }
+
+ 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) {
@@ -77,6 +97,7 @@
selectItem(event) {
var selectedVal = event.currentTarget.dataset.id;
+ this.myValue = selectedVal;
if(selectedVal) {
var count = 0;
var options = JSON.parse(JSON.stringify(this.optionData));
@@ -105,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() {
@@ -152,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
@@ -159,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