Render a component within a Widget. (Using select-kit components within plugin code)

네, 해당 메서드들은 정의되어 있습니다. 정리해서 저장소에 올릴게요.

임베디드 컴포넌트를 사용한 양방향 바인딩의 일부를 보여주는 테스트가 있으면 정말 도움이 될 것 같습니다! :pray:

해당 항목과 scheduleRerender() 함수에 접근할 수 있었습니다. 테스트와 문서를 업데이트했습니다.

확인 요청드립니다 - @bind가 discourse-common/utils/decorators에서 가져온 것이 맞나요?

확인했습니다.

레포지토리는 여기 있습니다: GitHub - merefield/discourse-tc-bars-tag-intersection-chooser: A small widget to allow you to navigate to a topic list based on a combinations of tags · GitHub

특히 위젯 파일은: layouts-tag-intersection-widget/layouts-tag-combo.js.es6 at master · paviliondev/layouts-tag-intersection-widget (github.com)

명시한 대로 현재는 개발 중(WIP)이며 작동하지 않습니다.

(현재 상태로 테스트하려면 Layouts 플러그인이 설치 및 구성되어야 하지만, 위젯 코드를 추출하는 것은 매우 간단합니다)

아, 이걸로 해결될 것 같네요:

- @onChange={{action @data.onChangeUpdateTagSet}}/>
+ @onChange=@data.onChangeUpdateTagSet/> 

'클로저 액션’을 전달할 때는 (action 헬퍼가 필요하지 않습니다(이 경우 오히려 문제가 생기는 것 같습니다).

그렇게 하면 TypeError: this.attrs.onChange is not a function이 발생하는 것 같네요?

하지만 네, 그 헬퍼가 사용 가능한 속성을 가리고 있는 건지도 모르겠네요.

아, 실수했네요. 거기에 중괄호가 필요해요. 없으면 그냥 문자열 속성으로 파싱됩니다.

- @onChange={{action @data.onChangeUpdateTagSet}}/>
+ @onChange={{@data.onChangeUpdateTagSet}} /> 

안타깝게도 그렇게 하면 동일한 오류가 발생합니다?

브레이크포인트를 추가해서 this.attrs.onChange의 값이 무엇인지 확인해 줄 수 있을까요? (개발자 도구의 “예외 발생 시 일시정지” 기능이 도움이 될 수 있습니다)

@David와 저는 PM으로 이 문제를 해결했습니다:

시간 내어 도와주셔서 감사합니다, @David.

완료되면 TC를 게시하겠습니다.

이제 이게 실제로 가능한 기능이 되었지만, 아직 약간 거칠게 마무리된 상태입니다:

Layouts 플러그인이 필요합니다.

테마 컴포넌트 저장소: GitHub - merefield/discourse-tc-bars-tag-intersection-chooser: A small widget to allow you to navigate to a topic list based on a combinations of tags · GitHub

참고로, 이제 이 컴포넌트는 우측 사이드바 블록도 지원합니다!

참고로 이 컴포넌트는 https://meta.discourse.org/t/discourse-bars/298216을 지원합니다