Я хочу создать веб-компонент, который будет возвращать мне информацию всякий раз, когда значение в элементе ввода было изменено.Я использую Stencil.js.
Вот мой код:
import { Component, Prop, h } from '@stencil/core';
@Component({
tag: 'wp-input',
styleUrl: 'input.css',
shadow: true
})
export class InputComponent {
@Prop() type: string = 'text';
@Prop() disabled: boolean = false;
@Prop() required: boolean = false;
@Prop() labelTxt: string = '';
@Prop() class: string = '';
@Prop() value: string = '';
@Prop() error: string = '';
@Prop() id: string;
@Prop() whenChange: Function;
render() {
return (
<div class={`wp-input-wrapper`}>
<label htmlFor={this.id}>{this.labelTxt}</label>
<input type="text"
onInput={event => this.whenChange(event)}
class={`wp-input`} id={this.id}
value={this.value} required={this.required} />
{this.error && <div class="error">
{this.error}
</div>}
</div>
)
}
}
Я запускаю его так на своем веб-сайте:
<script>
changeFunction = event => {
console.log(event)
}
</script>
<wp-input
when-change='changeFunction'
value='i am here' error='adf' label-txt='Label text'></wp-input>
Но я все ещеПолучение этой ошибки:
wp-input.entry.js: 16 Uncaught TypeError: this.whenChange не является функцией
Возможно ли получить значение из Интернета?составная часть?Или как-то получить уведомление, что значение изменилось?