19626
2023-10-09 25f056535350a0b80bad50d2cc45311998e5d1cd
force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
@@ -7,16 +7,19 @@
    @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() {
        this.showDropdown = false;
        var optionData = this.options ? (JSON.parse(JSON.stringify(this.options))) : null;
@@ -47,6 +50,10 @@
        this.optionData = optionData;
    }
    get isRequired() {
        return this.required;
    }
    filterOptions(event) {
        this.searchString = event.target.value;
        if( this.searchString && this.searchString.length > 0 ) {
@@ -70,9 +77,14 @@
            this.showDropdown = false;
        }
   }
    @api refreshOptions(options) {
        if(options && options.length > 0)
            this.optionData = JSON.parse(JSON.stringify(options));
    }
    selectItem(event) {
        var selectedVal = event.currentTarget.dataset.id;
        this.myValue = selectedVal;
        if(selectedVal) {
            var count = 0;
            var options = JSON.parse(JSON.stringify(this.optionData));
@@ -148,6 +160,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