suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So rendern Sie Inhalte in den Slot

<p>Wie unten gezeigt, habe ich eine <code>-Schaltfläche</code> mit einem Slot in der untergeordneten Komponente erstellt. Der Name des Slots ist <code>slotDigitizePolygonBtnLabel</code>. Der <code>button</code> in der untergeordneten Komponente sollte eine Eigenschaft namens <code>disabilityState</code> haben, um anzugeben, ob der Button deaktiviert ist. </p> <p>In der übergeordneten Komponente möchte ich den <code>button</code> rendern und den Wert von <code>disabilityState</code> übergeben. </p> <p>Wenn ich den Code ausführe, wird nichts gerendert. Bitte sagen Sie mir, wo mein Fehler liegt und wie ich ihn beheben kann. </p> <p><strong>Unterkomponente: DigitizePolygonButton.vue</strong></p> <pre class="brush:php;toolbar:false;"><template> <button id="idDigitizePolygonBtn" class="clsDigitizePolygonBtn" :disabilityState="isDigitizePolygonBtnDisabled"> <slot name="slotDigitizePolygonBtnLabel">text</slot> </button> </template> <script> Standard exportieren { setup(props) { zurückkehren { digitalizePolygonBtnDisabilityState: props.isDigitizePolygonBtnDisabled, }; }, Requisiten: { isDigitizePolygonBtnDisabled: { Typ: Boolesch, erforderlich: wahr, Standard: falsch, }, }, }; </script></pre> <p><strong>Übergeordnete Komponente</strong>:</p> <pre class="brush:php;toolbar:false;"><template v-slot:slotDigitizePolygonBtnLabel> <DigitizePolygonButton :disabilityState="false"> test </DigitizePolygonButton> </template></pre>
P粉877114798P粉877114798467 Tage vor566

Antworte allen(1)Ich werde antworten

  • P粉278379495

    P粉2783794952023-08-18 13:12:55

    你应该在你的代码中更改一些属性 你写的是 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>

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

    Antwort
    0
  • StornierenAntwort