ZBLOG

要实现你的需求,我们可以通过对 isCustomerAssociatedisEditing 这两个状态的判断来动态控制产品名称和借据号的输入框。这是需要在UI上显示输入框而不是选择框的逻辑。

以下是你可以调整的代码段,以支持这些新要求:

更新后的模板

<template>
  <a-col :span="12">
    <a-form-item label="身份证号">
      <a-row>
        <a-col :span="isCustomerAssociated ? 24 : 16">
          <a-input
            v-model:value="formModal.ident"
            placeholder="请输入身份证号"
            :disabled="isEditing"
          />
        </a-col>
        <a-col
          :span="6"
          style="padding-left: 10px"
          v-if="!isCustomerAssociated && modalType === 'add'"
        >
          <a-button
            class="margin-right-10 button-light-blue"
            type="primary"
            @click="handleAssociateCustomer"
          >
            关联客户
          </a-button>
        </a-col>
      </a-row>
    </a-form-item>
  </a-col>

  <a-row v-if="isCustomerAssociated">
    <a-col :span="12">
      <a-form-item label="产品名称" style="width: 250%; margin-left: -130px">
        <template v-if="isEditing || modalType === 'add'">
          <!-- 可手动输入 -->
          <a-input
            v-model:value="formModal.productNameInput"
            placeholder="请输入产品名称(可手动输入)"
          />
        </template>
        <template v-else>
          <!-- 可选择 -->
          <a-select
            v-model:value="formModal.productName"
            mode="multiple"
            placeholder="请选择产品名称"
            :options="productOptions"
            :disabled="isEditing"
          />
        </template>
      </a-form-item>
    </a-col>
  </a-row>

  <a-row v-if="isCustomerAssociated">
    <a-col :span="12">
      <a-form-item label="借据号" style="width: 250%; margin-left: -130px">
        <template v-if="isEditing || modalType === 'add'">
          <!-- 可手动输入 -->
          <a-input
            v-model:value "formModal.loanInfoCodeInput"
            placeholder "请输入借据号(可手动输入)"
          />
        </template>
        <template v-else>
         <!-- 可选择 -->
         < a-select 
           v-model:value = "formModal.loanInfoCode" 
           mode = "multiple" 
           placeholder = "请选择借据号" 
           :options = "loanOptions" 
           :disabled = "!formModal.productName || formModal.productName.length === 0 || isEditing" 
         />  
       </template>  
     </ a-form-item >  
   </ a-col >  
</ a-row >
</ template >

<script setup>
// Importing Vue and other necessary modules remains unchanged

// Define additional state variables for manual input fields
const formModal = ref({
   ident: '',
   productName: [],
   loanInfoCode: [],
   customerName: '',
   phoneNumber: '',
   productNameInput: '', // 新增字段,用于存储手动输入的产品名称
   loanInfoCodeInput: '' // 新增字段,用于存储手动输入的借据号
});

// The rest of your script remains unchanged...

修改点说明:

  1. 新增字段:为 formModal 中新增了 productNameInputloanInfoCodeInput 字段,分别用于存储用户手动输入的产品名称和借据号。

  2. 条件渲染:使用了 <template> 标签,根据 modalTypeisEditing 的值判断显示哪个组件。对于新增和编辑时,如果是在可编辑模式,则展示文本框供用户手动输入;如果是在查看模式下,则展示选择器。

  3. 绑定修改:将新的数据模型与UI元素进行绑定,这样能够保证用户的每次更改都会反映在数据模型中。

这样,当你在添加或编辑时会根据不同条件展示相应的组件,使得用户体验更佳。如果你有其他特定需求,欢迎继续提问!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22881

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?