-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Closed
Labels
Description
- I have searched the issues of this repository and believe that this is not a duplicate.
Version
1.6.0
Environment
macos / vue 2.6
Reproduction link
国外的网络太卡,codesandbox各种打不开.
复现代码可以看最后
Steps to reproduce
常规引入,JSX写法..
浏览器控制台就输出异常了.
What is expected?
修正,可以支持jsx写法
What is actually happening?
主要是formmodal的props: model的绑定不支持jsx写法;
<FormModel
model={this.formData}这种写法就直接控制台报错了,
绑定的校验规则也无法映射到实际的model内的值
其他
Demo.vue
<script>
import { FormModel, Input, Select, Tooltip } from 'ant-design-vue';
export default {
name: 'StepRecord',
data() {
return {
toolTipPlacement: 'topLeft',
formData: {
serviceName: '', // 服务名,同步git repo name
serviceGroup: undefined, // 服务群组,同步git repo group
serviceDesc: '', // 服务的描述信息
serviceType: '', // 边缘服务
serviceRouterType: '', // 路由类型->k8ssvc
},
fieldRules: {
serviceName: [
{ required: true, message: '请输入服务名字', trigger: 'blur' },
{ min: 4, max: 20, message: '长度在4-20之间', trigger: 'blur' },
],
serviceGroup: [{ required: true, message: '请选择服务群组名', trigger: 'change' }],
serviceDesc: [{ required: true, message: '请输入此服务的概要描述', trigger: 'blur' }],
},
labelCol: { span: 3 },
wrapperCol: { span: 14 },
serviceGroupDataList: [
{
label: 'h3yun',
value: 'h3yun',
},
],
};
},
render() {
return (
<FormModel
model={this.formData}
ref="recordFormRef"
rules={this.fieldRules}
labelCol={this.labelCol}
wrapperCol={this.wrapperCol}
>
<FormModel.Item label="服务名" prop="serviceName">
<Tooltip trigger={['focus']} placement={this.toolTipPlacement}>
<span slot="title">在技术中台展示的名字,目前同步为仓库名</span>
<Input vModel={this.formData.serviceName} />
</Tooltip>
</FormModel.Item>
<FormModel.Item label="服务群组" prop="serviceGroup">
<Tooltip trigger={['focus']} placement={this.toolTipPlacement}>
<span slot="title">在技术中台所属群组,目前同步为仓库群组</span>
<Select
vModel={this.formData.serviceGroup}
options={this.serviceGroupDataList}
placeholder="请选择服务群组"
></Select>
</Tooltip>
</FormModel.Item>
<FormModel.Item label="服务描述信息" prop="serviceDesc">
<Tooltip trigger={['focus']} placement={this.toolTipPlacement}>
<span slot="title">描述你要搞的这个东东是做啥用的!!</span>
<Input.TextArea
vModel={this.formData.serviceDesc}
autoSize={{ minRows: 3, maxRows: 16 }}
placeholder="你要搞的这个东东面向的领域,用来做啥!!"
/>
</Tooltip>
</FormModel.Item>
</FormModel>
);
},
};
</script>把model={this.formData}去除就没有警告了.
但是这样双向绑定和规则校验就成了摆设..
sherlockednguyen
