हर कोई, वर्तमान में मैं कुछ लारवेल प्रोजेक्ट पर काम कर रहा हूं, जहां मैं एक्स-ब्लेड घटक रखना चाहता हूं जो घटक को कौन सी विशेषताओं को पारित करता है, इस पर निर्भर करता है, लेकिन मैं नहीं चाहता कि गुण स्वयं को एचटीएमएल में प्रस्तुत किया जाए।

घटक ब्लेड फ़ाइल:

@props([
    'variant'=>'red',
    'styles'=>[
        'red'=>'bg-red text-white h-11 px-4 rounded-xl flex justify-center items-center font-bold',
        'white'=>'bg-white border border-red h-11 px-4 rounded-xl flex justify-center items-center font-bold'
    ]
])

<a href="{{$attributes['href']}}" {{$attributes->merge(['class'=>$styles[$variant]])}}>
    {{$slot}}
    @if($attributes['external'])
        <div class="w-4 xl:w-5 4xl:w-6 ml-3 sm:ml-4">
            I'm external
        </div>
    @endif
</a>

मेरा घटक:

<x-test href="#" class="w-max" variant="white" external>
    Button text
</x-test>

प्रतिपादित html:

<a href="#" class="bg-white border border-red h-11 sm:h-12 xl:h-13 4xl:h-14 px-4 sm:px-7 xl:px-8 4xl:px-9 rounded-xl flex justify-center items-center font-bold w-max" external="external">
    Button text
    <div class="w-4 xl:w-5 4xl:w-6 ml-3 sm:ml-4">
        I'm external
    </div>
</a>

जैसा कि आप देख सकते हैं <a> टैग को external="external" विशेषता के साथ प्रस्तुत किया जा रहा है और मैं इसे रोकना चाहता हूं।

आपके समय और ऊर्जा के लिए अग्रिम धन्यवाद !!! :)

1
Aurimas Kuniutis 26 जिंदा 2022, 19:06

2 जवाब

इसे रोकने के लिए बस $external को प्रॉपर में घोषित करें और इसे एक सामान्य चर की तरह इस्तेमाल करें

  @props([
      ...
      'external'=false
])

<a {{ $attributes }} {{$attributes->merge(['class'=>$styles[$variant]])}}>
    {{$slot}}
    @if($external)
        <div class="w-4 xl:w-5 4xl:w-6 ml-3 sm:ml-4">
            I'm external
        </div>
    @endif
</a>
0
elmahdi bouzouggar 26 जिंदा 2022, 19:34
यह काम नहीं कर रहा है, मान को गलत पर सेट किया जा रहा है और सशर्त भाग का प्रतिपादन नहीं किया गया है
 – 
Aurimas Kuniutis
26 जिंदा 2022, 19:54

या इसे आजमाएं:

 $attributes->merge(['class'=>$styles[$variant]])->except('external')
0
Santiago Za 26 जिंदा 2022, 19:35
मैंने याद किया है कि डॉक्स पढ़ते समय ... पूरी तरह से काम करता है !!! धन्यवाद!!!
 – 
Aurimas Kuniutis
26 जिंदा 2022, 19:58