dangerouslySetInnerHTML 在 NextUI 中不起作用

问题描述 投票:0回答:1

我是 NextUI 和 React 的新手。我需要将 html 添加到文本区域中,因为我将添加一些突出显示的子字符串,但 html 被解释为纯文本。

下面是我当前的代码。我尝试使用angerouslySetInnerHTML,但文本仍然呈现为纯文本而不是html。我做错了什么?

导出默认函数 Home() {

const text1 = '<a>foo</a>';

return (

<div className="flex flex-col w-full mb-6 md:mb-0 gap-4">

    <div className="flex w-full flex-wrap md:flex-nowrap mb-6 md:mb-0 gap-4">
        <Textarea
            isReadOnly
            label="ID 1"
            labelPlacement="outside"
            value={text1}
            dangerouslySetInnerHTML={{ __html: text1 }}
            size="lg"
            className="resize-y min-h-[200px]"
            minRows={18}
            maxRows={18}
        />
    </div>

    <div className="flex justify-center gap-6 w-full mt-4">
        <Button color="success" variant="ghost" size="md">Yes</Button>
        <Button color="danger" variant="ghost" size="md">No</Button>
    </div>
</div>
);

}

reactjs textarea nextui dangerouslysetinnerhtml
1个回答
0
投票

我对 NextUI 不熟悉,但是 NextUI Textarea 显然渲染了一个 HTML

textarea
,它只能包含纯文本,并且不渲染 HTML 代码。

所以你无能为力。

dangerouslySetInnerHTML
只是将 HTML 代码放入元素的
innerHTML
内,因此这与尝试在普通 HTML 页面中的
textarea
内添加 HTML 代码基本相同,但不支持。喜欢:

<body>
    <textarea>
        HTML code in `textarea` is <b>not</b> supported.
    </textarea>
</body>
© www.soinside.com 2019 - 2024. All rights reserved.