1

我正在将 Ant Design 组件用于 React 应用程序中的某些界面,但我注意到 Modals 和 Tooltips 存在问题。通常,当模态框为空或简单时 - 例如只有一个文本将正确显示,但如果上面有更多元素(在生产场景中),它会闪烁。

您可以在此处直观地查看闪烁问题:https ://drive.google.com/file/d/1ODsj-aGz6saHJLXLI7sJaesgHKKPrvD2/view

希望得到一些答案:-) 谢谢!visibleRequest 状态变量由界面中的按钮触发为真。编辑:根据要求,这是我的代码:

renderRequests=()=>{
        const data = [
            {name:"Request #1",description:"Request description",status:"0"},
            {name:"Request #1",description:"Request description",status:"1"},
            {name:"Request #1",description:"Request description",status:"2"}
        ];
        const handleOk = ()=>{
            console.log("Submitted");
            this.setState({visibleRequest:false})
        }
        const handleCancel = ()=>{
            this.setState({visibleRequest:false})
        }
        return(
            <div style={{overflowY:"scroll"}}>
            <Modal
                title="Submit new request"
                visible={this.state.visibleRequest}
                onOk={handleOk}
                onCancel={handleCancel}
                >
                <Input placeholder="Title"/>
                <Input.TextArea placeholder="Description"/>
                <DatePicker/>
            </Modal>
                <List 
                    dataSource={data}
                    renderItem={item=>{
                        return(
                            <List.Item>
                                <List.Item.Meta
                                title={item.name}
                                description={item.description}
                                />
                                {item.status==1?<Tooltip title="Request approved">
                                <Icon type="check-circle" theme="twoTone" twoToneColor="#52c41a" />
                                </Tooltip>:
                                item.status==2?<Icon type="close-circle" theme="twoTone" twoToneColor="#7F1C43" />:<Icon type="ellipsis" theme="outlined" />}
                            </List.Item>
                        )
                }}/>
                <Pagination total={20}/>
            </div>
        )
    }
4

0 回答 0