如何将内容渲染到插槽中
P粉877114798
P粉877114798 2023-08-18 00:30:15
[Vue.js讨论组]
<p>如下所示,我在子组件中创建了一个带有插槽的<code>button</code>。插槽的名称是<code>slotDigitizePolygonBtnLabel</code>。子组件中的<code>button</code>应该有一个名为<code>disabilityState</code>的属性来表示按钮是否被禁用。</p> <p>在父组件中,我想要渲染子组件的<code>button</code>并将<code>disabilityState</code>的值从父组件传递给子组件。</p> <p>当我运行代码时,没有任何内容被渲染。请告诉我我的错误在哪里以及如何修复它。</p> <p><strong>子组件:DigitizePolygonButton.vue</strong></p> <pre class="brush:php;toolbar:false;">&lt;template&gt; &lt;button id="idDigitizePolygonBtn" class="clsDigitizePolygonBtn" :disabilityState="isDigitizePolygonBtnDisabled"&gt; &lt;slot name="slotDigitizePolygonBtnLabel"&gt;text&lt;/slot&gt; &lt;/button&gt; &lt;/template&gt; &lt;script&gt; export default { setup(props) { return { digitizePolygonBtnDisabilityState: props.isDigitizePolygonBtnDisabled, }; }, props: { isDigitizePolygonBtnDisabled: { type: Boolean, required: true, default: false, }, }, }; &lt;/script&gt;</pre> <p><strong>父组件</strong>:</p> <pre class="brush:php;toolbar:false;">&lt;template v-slot:slotDigitizePolygonBtnLabel&gt; &lt;DigitizePolygonButton :disabilityState="false"&gt; test &lt;/DigitizePolygonButton&gt; &lt;/template&gt;</pre>
P粉877114798
P粉877114798

全部回复(1)
P粉278379495

你应该在你的代码中更改一些属性 你写的是 disabilityState 而不是 disabledState

<template>
<button id="idDigitizePolygonBtn" class="clsDigitizePolygonBtn" :disabled="disabledState">
<slot name="slotDigitizePolygonBtnLabel">text</slot>
</button>
</template>

<script>
export default {
    setup(props) {
        return {
            disabledState: props.isDigitizePolygonBtnDisabled,
        };
    },
    props: {
        isDigitizePolygonBtnDisabled: {
            type: Boolean,
            required: true,
            default: false,
        },
    },
};
</script>

在你的父组件中,你应该将 isDigitizePolygonBtnDisabled 属性传递给子组件,而不是 disabledState。 对父组件进行的更改:

<template>
    <DigitizePolygonButton :isDigitizePolygonBtnDisabled="false">
        <template v-slot:slotDigitizePolygonBtnLabel>
            <button>测试按钮</button>
        </template>
    </DigitizePolygonButton>
</template>

进行这些更改应该可以正常工作。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号