1.新增
<Form.Item label="会议室指引图名称" className="panel-li-title" labelCol={{ span: 7, }} wrapperCol={{ span: 17, }} > {getFieldDecorator("name", { initialValue: data.name, rules: [ { required: true, message: "会议室指引图名称不为空", }, ], })(<Input placeholder="请输出会议室指引图名称" />)} </Form.Item> <Form.Item label="大厦" className="panel-li-title" labelCol={{ span: 6, }} wrapperCol={{ span: 18, }} > {/* build_floor_ids是一个数组外面蕴含着大厦id 和楼层id */} {getFieldDecorator("build_floor_ids", { initialValue: data.build_floor_ids, rules: [ { type: "array", required: true, message: "大厦不为空", }, { validator: (rule, value, callback) => { let record = getFieldValue("build_floor_obj"); // console.error("-11--", value, record); if (record.type === "b") { callback("未配置楼层"); } callback(); }, }, ], })( // 新增编辑 -大厦下拉框列表 <SearchInput disabled={type === "edit"} style={{ width: "100%" }} placeholder="请抉择大厦" showSearch // 大厦展现的id 和名称 fieldNames={{ label: "cn_name", value: "id", children: "children", }} onChange={(value, selectedOptions) => { // 把抉择完的大厦-楼层的楼层id给了 record ,selectedOptions.length - 1减一代表只传一个楼层id let record = selectedOptions[selectedOptions.length - 1]; // ==b代表 代表曾经选了楼层 if (record.type !== "b") { // console.error(record, record?.id); // 申请接口的时候把楼层id给了original_id record?.id这种是高级写法,代表着从record中拿到id FloorguideAction.floorGuideList({ original_id: record?.id, }).then((results) => { if (!results.success) { message.error(results.err_msg || "接口谬误", 0.5); return; } // 最初判断有图片就展现图片没有就持续展现默认icon this.props.toggleBackUrl && this.props.toggleBackUrl(results?.data?.photo_url); }); } setFieldsValue({ build_floor_obj: record, build_floor_id: record?.id, }); }} /> )} </Form.Item>
2.编辑
state = { data: {} }; componentDidMount() { this.init(); } init = () => { let { location = {} } = this.props; let { query = {} } = location; let { id } = query; if (id) { FloorguideAction.floorGuideMeetingFindById({ id, }).then((results) => { if (!results.success) { message.error(results.err_msg || "接口谬误", 0.5); return; } let { data = {} } = results; if (_.isEmpty(data)) { return; } this.setState({ data: { // id, ...data, // 这是回显的两个联动的下拉框组建的数据 大厦id 楼层id build_floor_ids: [ data.build_id, //接口获取的大厦id data.build_floor_id, //接口获取的楼层id build_floor_id ], }, }); }); } }; render() { let { data = {} } = this.state; return <Add location={this.props.location} type="edit" data={data} />; }