Ant Design+react 表单只读

表单禁用,样式不好看,不符合甲方标准,看了一下文档,select、radio等都不支持只读状态。
解决方法:
利用css3的point-events属性,设置为none
在查看弹窗时,传入一个变量,当变量为true时,设置className样式,否则不作操作
point-events可以阻止点击事件的效果,以及鼠标指针显示
实现效果图:
在这里插入图片描述
鼠标点击不会有任何操作,也不会切换radio和select下拉
代码:

<Form.Item label="类型" name="questionType">
	//isCheckInfo是打开弹窗时传的变量,为true时是查看,需要加个样式,阻止鼠标事件
	<Radio.Group className={isCheckInfo?'read-only':''}>
    	<Radio.Button value={0}>一般问题</Radio.Button>
        <Radio.Button value={1}>业务问题</Radio.Button>
	</Radio.Group>
</Form.Item>
<Form.Item label="选择分组" required name="questionGroupId">
	<Select className={isCheckInfo?'read-only':''} options={[{ value: '0', label: '默认分组' }]} />
</Form.Item>

css

.read-only{
  pointer-events: none;
}

一行css解决!

上一篇:Web3的应用场景分析


下一篇:Spring之IOC