?問題說明
sp-checkbox是uxpSpectrum UXP Widgets下的一個小組件,內置樣式大概是這樣:
那么,如果用js動態的改變選中的狀態,應該如何做呢?
如果直接是html來寫:
<sp-checkbox checked>Checked</sp-checkbox>
那么用js來控制呢?
checkBox.checked = true? ??
emm,并不行,編譯都不通過。
checkBox.setAttribute('checked', 'true') ?
嗯,看起來的確勾選了,但是你會發現就算是設置為false,也一樣還是勾選狀態。
后來找了半天資料,找到一個解決辦法:
if (某個條件) {checkBox.setAttribute('checked', '')}else {checkBox.removeAttribute('checked')}
這樣就可以了。
試驗了多個方法,貌似在uxp環境下只有這種方法可以有效。
🎃吐個槽
emm..看起來是一個很簡單的問題,但問題是uxp相關的資料實在是太少,而且adobe官方也愛搭不理的樣子,這都2024年中旬了,uxp平臺的最新更新還是2022年,不知道這個平臺的生態到底是個什么情況
所以在這個很簡單的問題上,花了一段時間找解決方案,這里大概記錄下,或許對同樣研究photoshop插件的朋友有點幫助。
最近在寫一個photoshop結合comfyui 實現AI繪圖的插件,還在比較初步的階段,但是也可以湊合使用了,稍晚點共享出來,當然,是完全免費的。
如果有感興趣的朋友,可以先關注我咯~