Не удалось разрешить компонент: компонент Если это собственный настраиваемый элемент, обязательно исключите его из разрешения компонентов с помощью компилятораOptions.isCustomElement.
<script lang = "tsx">
export default defineComponent({
setup(props) {
return () => (
<n-form>
{list.value.map(item => {
return (
<n-form-item>
<component is = "*****" ></component>
</n-form-item>
);
})}
</n-form>
);
}
})
</script>
<component is = "*****" ></component>
не будет работать с JSX.
вместо этого вы можете просто передать сам компонент
import Comp1 from "./Comp1.vue";
export default defineComponent({
setup(props) {
return () => (
<n-form>
{list.value.map(item => {
const MyComponent = Comp1;
return (
<n-form-item>
<MyComponent/>
</n-form-item>
);
})}
</n-form>
);
}
})
конечно, использование const MyComponent = Comp1;
не совсем динамическое, но вы можете заменить его поиском, например
import Comp1 from "./Comp1.vue";
import Comp2 from "./Comp2.vue";
import Comp3 from "./Comp3.vue";
cons componentDefs = {
"comp-1": Comp1,
"comp-2": Comp2,
"comp-3": Comp3,
}
а затем вы можете посмотреть их с помощью
const MyComponent = componentDefs[*******];
вы импортируете то, что «*****» находится в
component is = "*****"
? если да, укажите, как вы импортируете в своем фрагменте