admin管理员组文章数量:1641412
记录自己生的bug
需求。可点新增,修改按钮,弹出弹框表单,可填写保存。
被自己蠢哭!!!按上次自定义校验表单的写法之后(自定义校验点这里),我寻思着点新增按钮时候的 给 this.formItem={...}的内容就不必要了吧,因为data里已经声明过 formItem :{}了。
原先的写法是点新增按钮时,把formItem里的每个字段都声明了一下,我觉得我自定义的校验有就是有,没有就是没有,不需要声明也能准确的判断出来是否非空了,没想到校验的问题解决了。根据上一个字段的值,来确定其他字段的:disabled属性,却出了大问题!!!
我想要根据 tenderIsDone 来确定其他两个字段是否可填,碰到的问题是,不管tenderIsDone怎么选怎么变,都不可填写。
解决方法就是点新增按钮时再初始化一下this.formItem={}; 加上就能正常判断了。编辑时候因为拿已有数据来给formItem了,所以没有出现这种奇葩问题。
才疏学浅,不晓得什么原因,如果有大佬晓得这是什么原因,请不吝赐教告诉我,非常感谢~~~~。因为挺少用到根据表单里其他字段来整其他字段的情况,而且这也是我第一次用自定义校验,所以手贱把必要的声明给整个去掉了(除了data里,新增或修改的时候,填数字的字段,不声明一下会一直报空,不能通过校验。编辑时还需要把数字转成字符串,不然也过不去)。所以真的是机缘巧合出现这种bug,我还找了好久的原因,被自己蠢死了。
<Col span="12">
<FormItem label="是否可做投标保函" prop="tenderIsDone">
<span slot="label" class="check">是否可做投标保函</span>
<Select v-model="formItem.tenderIsDone" placeholder="请选择" style="width:230px" @on-change="selectDoneChange('tb')">
<Option value="1">是</Option>
<Option value="0">否</Option>
</Select>
</FormItem>
</Col>
<Col span="12">
<FormItem label prop="tenderFeeRate">
<span slot="label" :class="formItem.tenderIsDone=='1'?'check':''">投标保函费率(%)</span>
<Input
:disabled="formItem.tenderIsDone != '1'"
v-model="formItem.tenderFeeRate"
placeholder="请输入"
clearable
style="width:230px"
/>
</FormItem>
</Col>
<Col span="12">
<FormItem label prop="tenderFeeUnit">
<span slot="label" :class="formItem.tenderIsDone=='1'?'check':''">投标保函费率单位</span>
<Select v-model="formItem.tenderFeeUnit" :disabled="formItem.tenderIsDone != '1'" style="width:230px">
<Option value="01">年</Option>
<Option value="02">季</Option>
<Option value="03">月</Option>
<Option value="04">日</Option>
</Select>
</FormItem>
</Col>
版权声明:本文标题:iview 新增表单 :disabled 动态 设置formItem是否可填不起作用的问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729320756a1195854.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论