2017-08-16 193 views
2

如何才能使一個HTML元素的屬性有條件與苗條?需要明確的是,我不是在談論一個條件值,但屬性存在本身。Sveltejs渲染HTML屬性有條件

舉例來說,我想在輸入這個列表自動對焦只有第一項:

{{#each codeInputs as codeInput, index}} 
    <input bind:value="inputCodes[index]" type="text" autofocus> 
{{/each}} 

屬性autofocus應該只針對第一項在那裏。我可以用指數來檢測的第一個項目,但autofocus="{{index===0}}"呈現autofocus="true""false",所以這不是我所需要的。

另見https://github.com/sveltejs/svelte/issues/259

回答

3

試試吧 - it does work。 Svelte沒有設置屬性,當它看起來像autofocus='{{xyz}},它設置屬性 - 屬性必須是一個字符串(這是無益的),而屬性可以是布爾值。

+0

優秀,在HTML中定義,如你解釋蓋[布爾屬性HTML5(https://www.w3.org/TR/html5/infrastructure.html#boolean-attributes)https://github.com/sveltejs /苗條/問題/ 301。我的用例由此解決。 – dschulten

+0

但是有一個相關的問題:怎麼樣[字符串屬性(https://svelte.technology/repl?version=1.30.0&gist=d3c9e949965b10d276f429cfa8aea82b) – dschulten

+0

目前,這是不可能的。我們還沒有遇到過的情況下這是一個問題(而不是理論上的關注),但如果它導致的錯誤在你的應用程序,請提出一個問題! –