setValueAt(index, value, flags = {}) {
    if (!this.isMultipleMasksField) {
      return super.setValueAt(index, value, flags);
    }
    value = this.maskValue(value, flags);
    const textValue = value.value || '';
    const textInput = this.refs.mask ? this.refs.mask[index] : null;
    const maskInput = this.refs.select ? this.refs.select[index]: null;
    const mask = this.getMaskPattern(value.maskName);
    if (textInput && maskInput && mask) {
      // We need to set the maskInput (select dropdown) value before calling inputmask.setValue because, this
      // function will trigger a "change" event, which was calling updateValue setting the mask type to an incorrect value.
      maskInput.value = value.maskName;
      if (textInput.inputmask) {
        this.setInputMask(textInput, mask);
        textInput.inputmask.setValue(textValue);
      }
      else {
        const placeholderChar = this.placeholderChar;
        textInput.value = conformToMask(textValue, FormioUtils.getInputMask(mask), { placeholderChar }).conformedValue;
      }
    }
    else {
      return super.setValueAt(index, textValue, flags);
    }
  }
Sets the value at this index.
@param {number} index - The index to set the value at.
@param {any} value - The value to set.
@param {any} [flags] - The flags to use when setting the value.
@returns {void}