Пользовательская директива NGX-маска на Primeng ComponentsJavascript

Форум по Javascript
Ответить
Anonymous
 Пользовательская директива NGX-маска на Primeng Components

Сообщение Anonymous »

Мне нужна помощь, чтобы удержать, почему я изо всех сил пытаюсь сделать это: < /p>
Я получил дату Primeng DatePicker, который имеет вход внутри.
Я хотел бы применить Директива ngx-mask на этот вход, но я не могу найти способ, который работает ...
ngx-mask: (https://npmjs.com/package/ngx-mask ) < /p>

Я попытался применить атрибуты маски непосредственно на дату, но кажется, что он работает только на вводе. < /li>
Я попробовал с ViewChild, а затем SetAttribute «Mask» на внутреннем входе. Маска атрибутов из NGX-маски является входной сигнализацией, поэтому ее нельзя изменить. /> Я попробовал с JavaScript Inputmask Lib (https://npmjs.com/package/inputmask), и она работает, когда я применяю директиву непосредственно на дату Primeng, поэтому я думаю, что это явно возможно!
Просто хочу попробовать, если я смогу сделать то же самое с ngx-mask < /p>
Вот указанная директива, которую я попробовал: < /p>

Код: Выделить всё

import { AfterViewInit, Directive, ElementRef, Inject, Input, InputSignal, Optional } from '@angular/core';
import { NgxMaskDirective, provideNgxMask } from 'ngx-mask';
import { DatePicker } from 'primeng/datepicker';

@Directive({
selector: 'dateMask',
providers: [provideNgxMask(), NgxMaskDirective]
})

export class DatePickerMaskDirective implements AfterViewInit {

private ngxMaskDirective: NgxMaskDirective;

constructor(
private datePicker: ElementRef,
) {}

ngAfterViewInit() {
const input = this.datePicker.nativeElement.querySelector('input');
if (input) {
this.ngxMaskDirective = new NgxMaskDirective();

this.ngxMaskDirective.writeValue(input.value);

input.addEventListener('input', (e: Event) => {
this.ngxMaskDirective.onInput(e as any);
});
input.addEventListener('blur', (e: Event) => {
this.ngxMaskDirective.onBlur(e as any);
});
}
}
}

// somes others attributes
dateMask
mask="99:99"
apm="true"
>
Заранее спасибо,


Подробнее здесь: https://stackoverflow.com/questions/794 ... components
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»