Typescript: 튜플 배열의 동적 목록, 교차점 없음
P粉163951336
2023-08-31 23:02:45
<p><pre class="brush:php;toolbar:false;">const 인텐트 = ["기본", "보조", "악센트", "위험"] as const;
const ButtonSizes = ["소형", "중형", "대형"] as const;
type IntentType = (인텐트 유형)[번호];
유형 SizeType = (버튼 크기 유형)[숫자];
ButtonProps = {를 입력하세요.
의도?: IntentType;
크기?: 크기 유형;
} & {
[IntentType의 K는 `${Lowercase<K>}`로 표시됨]?: 부울;
};</pre>
<p>지금 这段代码中,我希望 Vue 组件能够接收如下属性
</p>
<p>
喜欢
</p>
<p>이제 코드를 좀 더 정적으로 작성하면 다음과 같습니다.</p>
<pre class="brush:php;toolbar:false;">type ButtonProps = {
의도?: "기본" | "보조" | "악센트" | '위험';;
크기?: "작은" | "중간" | '크다';;
기본?: 부울;
보조?: 부울;
악센트?: 부울;
위험?: 부울;
}</pre>
<p>它有效......但是我还有一些其他代码需要迭代意图选项,并且只是让它一直重复......</p>
<p>第一个示例有效,但由于某种原因 VUE 抛take错误</p>
<인용문>
<p>内part服务器错误:[@vue/compiler-sfc] 类型参数传递给
DefineProps() 必须是문자 유형
或文字类型。</p>
</인용문>
<p>这个错误似乎是已智被解决,所以看起来</p>
<p>이용할 수 없는 정보는 ButtonProps의 사용 방법에 따라 결정됩니까?</p>
"인터페이스 또는 리터럴 유형에 대한 참조" 오류가 표시되는 것을 고려하여
으아악ButtonProps
를 기본 유형을 확장하는 인터페이스로 정의하면 작동한다고 가정합니다.놀이터