相关文章推荐
博学的企鹅  ·  mysql decimal ...·  1 年前    · 
	<Form.Item name = "goodstype" label = "商品类型" style={{display:'inline-block',width:'375px'}} >
		<Select labelInValue={true} style={{ width: '100%' }}  allowClear={true} placeholder="请选择商品所属类型">
				{ this.state.gtypes.map((item)=>
						 <Option key={item.value} label={item.text} value={item.value}>{item.text}</Option>
		</Select>
	</Form.Item> 

如何获取到label:

this.formRef.current.getFieldValue("goodstype")['label']
let formData=this.formRef.current.getFieldValue();
formData.typename=formData.goodstype['label'];

上面就是获取到Form.Item 中label的方法,希望对你有所帮助

存在这样的一个情况:在这样的一个下拉的选择框中,如何获取到对应的 商品类型的值,和label的值在select 中存在这样的一个属性:labelInValue看看我们怎么使用:代码: &lt;Form.Item name = "goodstype" label = "商品类型" style={{display:'inline-block',width:'375px'}} &gt; &lt;Select labelInValue={true} style={{...
在日常工作 ,有时候需要 获取 下拉选择框除了value其他的 ,在 antd 官网 可以使用api label InValue;每个选项的 label 包装到 value ,会把 Select 的 value 类型从string变为 { value: string, label : React Node } 的格式 但是实际开发过程 这种远远不能满足需要: import { Select } from ' antd '; const { Option } = Select ; const opts = ...
记住:setFieldsValue的字段要对应得上 解决 antd Form 组件setFieldsValue的警告 使用 antd Form 组件setFieldsValue可能会出现You cannot set a form field before rendering a field associated with the value.警告,字面意义去看是说在 render之前设置了表单 的问题。 在使用setFieldsValue给表单 Form 的某一个filed赋 时,可能掺杂了非表单控件 的字段, Form 表单在赋 和渲染时发现有些字段无法渲染在现有的字段(因为不存在),所以就会报出这
但是现在的问题是这样的: 触发 select 1,触发 select 2,再触发 select 1,此时 select 2里面的 变成了上次一选 的value ,而不会被清空。 解决办法: 使用 Select 里面的value属性,来进行清空 < Form style={{padding:'20px','boxSizing':'border-box'}}> < Select defaultValue={packag < Form . Item label =作用对象> {getFieldDecorator('targetId', { initialValue: this.state.targetId }, { rules: [{ required: false, message: '作用对象' < Select placeholder=请选择作用对象> {targetList.map(entity => <Option key={enti
@[TOC]ant design select 下拉 获取 value和 label ant design select 下拉 获取 value和 label 过程 // select 代码 <a- select v-decorator="[ 'categoryId', {rules: [{ required: true, message: '请选择设备分类' }]} placeholder="请选择设备
const plainOptions = ['Apple', 'Pear', 'Orange']; const defaultCheckedList = ['Apple', 'Orange']; class App extends React .Component { state = { checkedList: defaultCheckedList, indetermina 1、自定义组件被getFieldsValue包裹,会获得以下属性 onChange方法, 子组件调用此方法,可将 传给父组件,从而 Form 可拿到自定义组件的 value属性,获得初始 2、组件调用 像 Form 表单内的组件一样调用,就可以了 补充知识:Ant Design Pro,用setFieldsValue方法,给嵌套到 Form 表单 的DatePicker或RangePicker组件设置默认 其实用setFieldsValue或者 获取 setState方法都可以设置DatePicker的默认 。 但是关键点在于,引用moment方法转换日期格式 1、setState方法 一个非常简单的HOC,用于 AntD Form . Item ,使其仅显示文本而不显示组件。 当您需要表单的查看模式时,此功能很有用。 yarn add form - item -view-hoc 这是将此HOC与 AntD Form . Item 一起使用的示例 import React from " react " ; import React DOM from " react -dom" ; import with Form Item View from " form - item -view-hoc" ; import { Form , Input , Switch } from " antd " ; const Custom Form Item = with Form Item View ( Form . Item ) ; function My Form ( props ) { const from.validateFields((err, val)=> {}) // 无响应 发现无响应, 无报错, 完全蒙逼了, 排查良久, 添加校验字段后发现可以成功校验, 于是想着大不了我全部手动添加字段名校验, 终于, 错误的原因浮现出来了 from.validateFields([n 第二步给 form 表单赋 < Form style={{ width: 600, marginLeft: 30, marginTop: 20 }} ref={this. form Ref}> </ Form > 第三步给每个 Form . Item 添加name属性 < Form . Item name="username" label ="姓名" 1. 在 Form 组件 使用List组件作为表单项的容器,设置name属性为需要动态添加的表单项的字段名。 2. 在List组件 使用 Form Item 组件作为每个表单项的容器,设置name属性为表单项的字段名。 3. 在 Form Item 组件 使用对应的 antd 表单控件,如Input、 Select 等,设置name属性为表单项的字段名。 4. 在List组件 使用Button组件作为添加按钮,设置onClick事件为添加表单项的方法。 5. 在添加表单项的方法 ,使用 Form 组件的setFieldsValue方法更新表单数据,添加新的表单项。 6. 在List组件 使用Button组件作为删除按钮,设置onClick事件为删除表单项的方法。 7. 在删除表单项的方法 ,使用 Form 组件的setFieldsValue方法更新表单数据,删除对应的表单项。 示例代码如下: import { Form , Input, Select , Button, List } from ' antd '; const { Option } = Select ; const Demo = () => { const [ form ] = Form .use Form (); const onFinish = (values) => { console.log(values); const add Form Item = () => { const { list } = form .getFieldsValue(); const nextList = [...list, { name: '', age: '', gender: '' }]; form .setFieldsValue({ list: nextList }); const remove Form Item = (index) => { const { list } = form .getFieldsValue(); const nextList = [...list]; nextList.splice(index, 1); form .setFieldsValue({ list: nextList }); return ( < Form form ={ form } onFinish={onFinish}> <List name="list"> {(fields, { add, remove }) => ( {fields.map((field, index) => ( < Form . Item key={field.key} name={[field.name, 'name']} fieldKey={[field.fieldKey, 'name']} rules={[{ required: true, message: '请输入姓名' }]} <Input placeholder="姓名" /> </ Form . Item > < Form . Item key={field.key} name={[field.name, 'age']} fieldKey={[field.fieldKey, 'age']} rules={[{ required: true, message: '请输入年龄' }]} <Input placeholder="年龄" /> </ Form . Item > < Form . Item key={field.key} name={[field.name, 'gender']} fieldKey={[field.fieldKey, 'gender']} rules={[{ required: true, message: '请选择性别' }]} < Select placeholder="性别"> <Option value="male">男</Option> <Option value="female">女</Option> </ Select > </ Form . Item > <Button onClick={() => remove Form Item (index)}>删除</Button> <Button onClick={() => add Form Item ()}>添加</Button> </List> <Button htmlType="submit">提交</Button> </ Form > export default Demo; ### 回答2: ### 回答3: