iview 新增表单 :disabled 动态 设置formItem是否可填不起作用的问题

记录自己生的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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值