<Drawer
width={720}
visible={props.visible}
onClose={() => {
props.onClose()
bodyStyle={{ paddingBottom: 80 }}
title={ '编辑' }
destroyOnClose
footer={
<div className={styles.drawerFoot}>
<Button
onClick={() => {
props.onClose(), form.resetFields()
className={styles.drawBtn}
{'取消'}
</Button>
<Button onClick={() => {
form.validateFields().then((values) => {
props.onSubmit(values);
});
}} type="primary">
{'保存'}
</Button>
</div>
name="validate_other"
form={form}
{...formItemLayout}
initialValues={isUpdate ? selectedInfo : { ['openType']: 'default' }}
<Form.Item
label={'打开方式'}
name="openMode"
rules={[{ required: true, message: '请输入打开方式' }]}
<Select placeholder="请选择一个打开方式" allowClear>
<Option value={'01'}>链接打开</Option>
<Option value={'02'}>客户端</Option>
<Option value={'03'}>非结构化</Option>
<Option value={'04'}>FTL模板报告</Option>
</Select>
</Form.Item>
<Form.Item
noStyle
shouldUpdate={(prevValues, currentValues) => prevValues.openMode !== currentValues.openMode}
{({ getFieldValue }) => {
return getFieldValue('openMode') === '01' ? (
<Form.Item
label={'打开途径'}
name="openType"
rules={[{ required: true, message: '请输入打开途径' }]}
<Radio.Group>
<Radio value={'iframe'}>Iframe</Radio>
<Radio value={'ie'}>IE</Radio>
<Radio value={'default'}>默认</Radio>
</Radio.Group>
</Form.Item>
) : null;
</Form.Item>
</Form>
</Drawer>
这里写自定义目录标题hooks中ant design initialValues shouldUpdate Drawer 搭配使用代码块hooks中ant design initialValues shouldUpdate Drawer 搭配使用注意,如果form中使用了preserve,输入框有初始值,点击保存时输入框的值会变成空代码块 <Drawer width={720} visible={props.visible} onClose={() =
当前功能:
Ant Design版本4.10,包含以下组件:表格,行,列,列,弹出式确认,图标,版式,弹出式通知
带钩子的React 17(useState和useContext)
使用Immer和useImmerReducer挂钩进行状态管理
添加,删除和完成待办事项
蚂蚁设计过滤器功能-隐藏完整的待办事项
用于日期选择的Ant Design DatePicker
UUID用于唯一的React密钥标识符
表的分页(多页)
支持IE11的Polyfills(仅在生产中)
移动设备的响应式布局
DevOps与CircleCI单元测试的集成
SonarGate云代码质量测试
在做需求的时候,有一个场景是表单根据后端返回的数据重新渲染,本来以为只要在render的时候state的值发生了改变,表单里的值就会发生变化,但是后来发现不是这样的,state值是刷新了,但是表单中的数据并没有更新,而其他直接填充的值都会更新。后来发现是因为initialValue只会在第一次进行渲染,后续数据的更新并不会造成重新渲染。
查看了antd的文档后,发现可以通过setFieldsV...
name="isAllowPrepay"
rules={[{ required: true, message: '请选择是否允许提还' }]}
getValueFromEvent={(e) => {
const { target } = e;
const { value } = target;
setAllowPrepay(val
我出现的问题:例如在编辑活动关联红包的时候,需求是select显示的是红包名称,但是表单提交的时候是红包ID:设置默认值的initialValue为Id的时候,会出现显示是id (需要的是显示名称);如果设置默认值initialValue是名称,那么下一步操作会出现报错
但是我还有一种情况:某个活动关联的红包被删除了,在Select中的可供选项中redPackets没有这个红包的时候,显示的会是红...
初步理解 : initialValue就是所谓的defaultValue,只会在第一次赋值的时候改变,却又有一些不同,因为 initialValue又会因其他改动而改变。 然而当获取的数据重新上来要渲染的时候 ,initialValue的值却又不改变,所以 让人觉得很是捉摸不透。
解决:````this.props.form.resetFields();```
例:如果第一步操作执行的是修改操作,...
项目
中需要将Form表单赋值初始值以供修改,但是我用useState设置了选
中的值然后
initialValues赋值却发现,点击出来显示的始终是上一次点击的值,然后用p标签重新显示这个state,发现又是最新的。
看了一下这篇https://blog.csdn.net/hl971115/article/details/104564923。
用useEffect也不起作用。我就放弃了
使用initialValues,然后
使用form.setFieldsValue()直接给form设置值。这下就行了
Woocommerce是一个广泛使用的WordPress电子商务插件,它允许您在WordPress网站上创建一个完整的在线商店。Woocommerce的主题提供了一系列的钩子(hooks),使得您可以自定义并且在不更改主题文件的情况下,将自己的代码添加到主题的各个位置。
在Woocommerce主题中,有两种类型的钩子:Action和Filter。Action是一种允许您在特定事件发生时运行自定义代码的钩子,而Filter允许您在特定位置更改主题中的内容。下面是一些常见的Woocommerce主题钩子:
1. woocommerce_before_main_content:在主要内容之前运行代码的Action钩子。
2. woocommerce_before_shop_loop:在产品列表页面(Shop页面)之前运行代码的Action钩子。
3. woocommerce_after_shop_loop:在产品列表页面之后运行代码的Action钩子。
4. woocommerce_before_single_product:在单个产品页面之前运行代码的Action钩子。
5. woocommerce_after_single_product_summary:在单个产品页面之后运行代码的Action钩子。
6. woocommerce_product_tabs:允许您在单个产品页面添加自定义标签的Filter钩子。
7. woocommerce_single_product_summary:允许您在单个产品页面更改产品摘要信息的Filter钩子。
您可以使用这些钩子来添加自定义功能或者修改Woocommerce主题中的某些元素。要使用这些钩子,您需要在functions.php文件中添加自己的代码,例如:
function my_custom_function() {
echo 'Hello World';
add_action( 'woocommerce_before_main_content', 'my_custom_function' );
这个代码将在“woocommerce_before_main_content”钩子运行时输出“Hello World”。