Language-tools: рдореВрд▓ DOM рддрддреНрд╡реЛрдВ рдкрд░ рдХрд╕реНрдЯрдо рдИрд╡реЗрдВрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдЕрдЧре░ 2020  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: sveltejs/language-tools

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?
рдЬрдм рдореИрдВ рдореВрд▓ рдбреЛрдо рддрддреНрд╡реЛрдВ рдкрд░ рдХрд╕реНрдЯрдо рдИрд╡реЗрдВрдЯ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:

Type '{ onswipestart: (event: CustomEvent<any>) => void; onswipemove: (event: CustomEvent<any>) => void; onswipeend: (event: CustomEvent<any>) => void; style: string; class: string; }' is not assignable to type 'HTMLProps<HTMLDivElement>'.
  Property 'onswipestart' does not exist on type 'HTMLProps<HTMLDivElement>'.ts(2322)

рдХрд╕реНрдЯрдо рдИрд╡реЗрдВрдЯ рдХреЛ div рддрддреНрд╡ рдореЗрдВ Sveltes рдХреНрд░рд┐рдпрд╛/рдЙрдкрдпреЛрдЧ рдирд┐рд░реНрджреЗрд╢ https://svelte.dev/examples#actions) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдк рдЬреЛ рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдореВрд▓ DOM рддрддреНрд╡реЛрдВ рдкрд░ Svelte рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреЗрдЬреЗ рдЧрдП рдХрд╕реНрдЯрдо рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВред

рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ рдЬрд┐рди рдкрд░ рдЖрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ
рдореИрдВ div рдХреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд Svelte рдШрдЯрдХ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдЕрдзрд┐рдорд╛рдирддрдГ рдЗрд╕реЗ рдореВрд▓ DOM рддрддреНрд╡реЛрдВ рдкрд░ рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн

The error message

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ рдХрд╕реНрдЯрдо рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕реБрдирддрд╛ рд╣реВрдВ:

<div
  class="bottomSheet"
  class:draggable
  bind:this={bottomSheet}
  use:swipeable
  on:swipestart={handleSwipeStart}
  on:swipemove={handleSwipeMove}
  on:swipeend={handleSwipeEnd}
  style="height:{height};bottom:{bottom};transform:translateY({$coords.ty}px);"
>

Svelte рдШрдЯрдХреЛрдВ рдкрд░ рдХрд╕реНрдЯрдо рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдкреБрд▓ рдЕрдиреБрд░реЛрдз: https://github.com/sveltejs/language-tools/pull/303

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдХреЗрд╡рд▓ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред

declare namespace svelte.JSX {
    interface HTMLAttributes<T> {
        onswipemove?: (event: CustomEvent<number> & { target: EventTarget & T }) => any;
    }
}

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдХреЗрд╡рд▓ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред

declare namespace svelte.JSX {
    interface HTMLAttributes<T> {
        onswipemove?: (event: CustomEvent<number> & { target: EventTarget & T }) => any;
    }
}

рд╣рдо "рдлреЙрд▓ рдмреИрдХ рдЯреВ CustomEvent<any> рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рднреА рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╡реЗ рдХрд┐рд╕реА рдИрд╡реЗрдВрдЯ рдХреЛ рдЧрд▓рдд рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ рддреЛ "рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИ" рддреНрд░реБрдЯрд┐ред рдРрд╕рд╛ рдХреБрдЫ рдареАрдХ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдХреЗрд╡рд▓ рдХреНрд░рд┐рдпрд╛рдУрдВ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реЗрдВрдЧреЗред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рдХрд╛рд░реНрдп рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдФрд░ рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдвреВрдВрдв рд╕рдХреЗрдВред

рдзрдиреНрдпрд╡рд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рджреЗрдирд╛ рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдЪреБрдирдирд╛ рдХрд┐ CustomEvent<any> рдкрд░ рд╡рд╛рдкрд╕ рдХрдм рдЖрдирд╛ рд╣реИ, рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдорд╛рдорд▓рд╛ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди @ jasonlyu123 рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рдзрд╛рди рдЕрдм рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЗрдЦрд╛ рдФрд░ рдЕрдм рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реВрдВ рдХрд┐ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИред

рд╡рд┐рдХрд▓реНрдк 1: рдореМрди рддреНрд░реБрдЯрд┐

рдпрджрд┐ рдпрд╣ use:YY рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде DOM рддрддреНрд╡ рдкрд░ on:XX рдШрдЯрдирд╛ рд╣реИ рддреЛ рд╣рдо рддреНрд░реБрдЯрд┐ рдХреЛ рд╢рд╛рдВрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреЛрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдШрдЯрдирд╛ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛрддреА рд╣реИред рдпрд╣ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЛ рднреА рдирд╣реАрдВ рдкрдХрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрд╡реЗрд▓реНрдЯ рдЕрдкрдиреА рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рдЗрддрдирд╛ рдЧрддрд┐рд╢реАрд▓ рд╣реИ, рдХреЛрдИ рдХрд╕реНрдЯрдордЗрд╡реЗрдВрдЯреНрд╕ рдмреБрджрдмреБрджрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд┐рдХрд▓реНрдк 2: CustomEvent<any> рдлрд╝реЙрд▓рдмреИрдХ рдЬреЛрдбрд╝реЗрдВ

рд╣рдо рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕рднреА рдЖрдВрддрд░рд┐рдХ рддрддреНрд╡ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдореЗрдВ & {[key: string]: CustomEvent<any>} рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ _any_ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рд╡рд╛рдкрд╕ CustomEvent<any> рдкрд░ рдЖ рдЬрд╛рдПрдЧреАред рдпрд╣ "рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдХреГрддрд┐" рд╕рдорд╕реНрдпрд╛ рдФрд░ рд╡рд┐рдХрд▓реНрдк 1 рдХреА "рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреЛрдИ рднреА" рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рднреА рдЧрд▓рдд рд╣реИ рдЬрдм рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ myownAttribute рдЬреИрд╕реА рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╡рд┐рдХрд▓реНрдк 3: any рдлрд╝реЙрд▓рдмреИрдХ рдЬреЛрдбрд╝реЗрдВ

рд╡рд┐рдХрд▓реНрдк 2 рдХреА рддрд░рд╣, рдХреЗрд╡рд▓ рд╣рдо & {[key: string]: any} рдлрд╝реЙрд▓рдмреИрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЬреЛ рдХреБрдЫ рднреА рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╡рд╣ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЕрдм рдЯрд╛рдЗрдкреЛ рдХреЛ рди рдкрдХрдбрд╝рдиреЗ рдХреА рдХреАрдордд рдкрд░ рдбреАрдУрдПрдо рдХреА рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдХреГрддрд┐ рдХреЛ рд╕рд░реНрд╡реЛрддреНрддрдо рд░реВрдк рд╕реЗ рдлрд┐рдЯ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

vatro picture vatro  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

scippio picture scippio  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

arxpoetica picture arxpoetica  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

opensas picture opensas  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

JAD3N picture JAD3N  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ