如何解决如何在选项选择上将“已选择”添加到“选择控制”选项
我有一个函数,可以从页面中提取标题并将其作为选项添加到HTML select
组件中。但是,我遇到了麻烦,使选定的项目成为选择器中显示的选定选项。如何以编程方式将“选定的”属性添加到选定的选项?
<SelectControl
label="Select heading for jump link"
value={jumpLink}
id="selectheader"
options={[jumpLink]}
onChange={setJumpLink}
/>
let jumpLinkArray = [...document.querySelectorAll('.wp-block-heading')].map(item =>
item.innerText);
const select = document.getElementById('selectheader');
if (select && select.innerHTML) {
select.innerHTML = '';
}
for (let i = 0; i < jumpLinkArray.length; i++) {
let opt = jumpLinkArray[i];
let el = document.createElement('option');
el.textContent = opt;
el.value = opt;
select.appendChild(el);
}
解决方法
这是一个有关如何设置选定选项的选定状态,以便将其设置为组件视图中的状态的问题。诀窍是将setTimeout
向上移动。
setTimeout(() => {
let headingArray = [
...document.querySelectorAll(".wp-block-heading")
].map(item => item.innerText);
const select = document.getElementById("selectheader");
if (select && select.innerHTML) {
select.innerHTML = "";
}
for (let i = 0; i < headingArray.length; i++) {
let opt = headingArray[i];
let el = document.createElement("option");
el.textContent = opt;
el.selected = opt === jumpLink;
el.value = opt;
select.appendChild(el);
}
},1000);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。