setfieldsvalue的用法(getfieldsvalue)

http://www.itjxue.com  2023-01-26 00:03  来源:未知  点击次数: 

Antd 中 Input 组件默认值的显示

但是有一些样式的问题(字体颜色会淡一点)

注意:当Form组件和Input组件一起用时,defaultValue在Input组件上无法生效

使用方法:form.getFieldDecorator配置initialValue参数:默认值

这里将Antd中form组件的注意事项列出来(很重要,使用过程中经常会碰到)

经过 getFieldDecorator 包装的控件,表单控件会自动添加 value(或 valuePropName 指定的其他属性) onChange(或 trigger 指定的其他属性),数据同步将被 Form 接管,这会导致以下结果:

1、你 不再需要也不应该 用 onChange 来做同步,但还是可以继续监听 onChange 等事件。

2、你不能用控件的 value defaultValue 等属性来设置表单域的值,默认值可以用 getFieldDecorator 里的 initialValue。

3、你不应该用 setState,可以使用 this.props.form.setFieldsValue 来动态改变表单值。

antd两个下拉框怎么联系

操作方法是:

两个下拉框,第一个下拉框切换后,第二个下拉框根据第一个的值改变下拉选项

使用shouldUpdate,另外当第一个值改变时,onSelectChange事件中,使用form.setFieldsValue将被关联的值清空

gtpupload报错gtperrno-6228

因为用form.setFieldsValue没能给upload赋值,所以选择使用upload的defaultFileList。

线上版本一直报错某个map和mustsetkeyforchildren;

总结原因是使用defaultFileList的时候数据格式错误。

defaultFileList的数据格式只能为以下:假设在一个循环里面,需要取a的第一项,defaultFileList要写成如下格式。

C#窗体中怎么用SetValue

实现给窗体控件的Text属性赋值,比如说:TextBox,Combox等。有赋值,当然也有取值操作。从窗体的控件中取值,然后存入变量或者实体属性当中,传入到数据访问层进行添加,更新等操作也是我们经常使用的

该方法的作用是,遍历传入窗体中的控件,并且获取其值赋给实体类的相应属性。

/// summary

/// 从窗体控件取值,填充到学生实体类中

/// /summary

/// param name="enStudent"学生实体

public static void FillStuEntityByForm(StuEntity enStudent, Form thisfrm)

{

//遍历窗体上的控件

foreach (Control ctrl in thisfrm.Controls)

{

//控件是否继承了接口

if (ctrl is Interface1)

{

//是否属于文本框

if (ctrl is TextBoxEx)

{

//给实体属性赋值

SetStuValue(enStudent, ((TextBoxEx)ctrl).DataField, ctrl.Text);

}//如果属于下拉框

else if (ctrl is ComboxEx)

{

SetStuValue(enStudent, ((ComboxEx)ctrl).DataField, ((ComboxEx)ctrl).Text);

}

}

}

}

利用反射给实体每个属性赋值:

/// summary

/// 给实体相应的属性赋值

/// /summary

/// param name="enStudent"学生实体类

/// param name="DataFiled"匹配字符串

/// param name="Value"窗体控件的值

public static void SetStuValue(StuEntity enStudent, string DataFiled, string Value)

{

PropertyInfo field = enStudent.GetType().GetProperty(DataFiled);

field.SetValue(enStudent, Value, null);

}

将返回实体的属性取出,拼成一个字符串。

/// summary

/// 将实体的属性组合成字符串返回

/// /summary

/// param name="enStudent"

/// returns/returns

public static string GetStr(StuEntity enStudent)

{

PropertyInfo[] fields = enStudent.GetType().GetProperties();

StringBuilder sb = new StringBuilder();

foreach (PropertyInfo pi in fields)

{

sb.Append(pi.Name).Append(":").Append(pi.GetValue(enStudent, null)).Append("\r\n");

}

return sb.ToString();

}

客户端调用代码:

private void btnGetValue_Click(object sender, EventArgs e)

{

StuEntity enStudent = new StuEntity();

//调用填充实体属性的函数

FrmHelper.FillStuEntityByForm(enStudent, this);

//将实体的属性显示出来

string str = FrmHelper.GetStr(enStudent);

MessageBox.Show(str);

}

Antd pro-table 使用之坑

1、使用onChange之后使用时间组件,界面不会刷新,比如你选择10月1日到11月1日,他还是之前默认的10月1日到10月30日,界面一直改变不了,但是其实是选择了,所以要加setFieldsValue解决。

2、如果你不使用initialValue,改为使用defaultValue设置默认值,同时保留onChange的是用,则会导出handleRequestData中的params.rangeTime取不到值。

(责任编辑:IT教学网)

更多