【发布时间】:2021-02-19 16:30:43
【问题描述】:
我的代码是用 React 编写的,我试图有条件地交换分配给每个元素中值的内容。 swap 被作为道具传入,我认为它可以充当触发器,但是当我使用 swap=true 与 swap=null 时,我没有得到任何改变。
function DataList({label, onSelect, options, swap}) {
return (
<DataListContainer>
<CustomInput placeholder={label} list="items" name="item" id="item" required onChange={onSelect}></CustomInput>
<datalist id='items' >
{options? options.map(option => <option key={option.number} value={swap ? option.title : option.number}>{swap ? option.number : option.title}</option>) : null}
</datalist>
</DataListContainer>
);
}
<DataList
label='Select Chapter Number'
onSelect={changeChapterNumber}
options={chaptersFromSelectedComic}
/>
<DataList
label='Select Chapter Title'
onSelect={changeChapter}
options={chaptersFromSelectedComic}
swap={true}
/>
【问题讨论】:
-
这些应该是不同的还是应该匹配的三元组?我看到该值与
option中的文本相同,也请执行上述评论。 -
@KetanRamteke datalist
-
奇怪的是,文档中的
options都没有关闭,所以我不知道这是一个错字还是真的正确,但它在 JSX 中绝对无效。在沙箱中尝试过。根据does-react-js-support-html5-datalist 在反应选项标签已关闭。
标签: javascript reactjs react-props conditional-operator