找回密码
 立即注册
首页 资源区 代码 关于antd前端组件a-select组件选择无效的问题处理记录 ...

关于antd前端组件a-select组件选择无效的问题处理记录

鞠彗云 3 天前
在使用公司的信息系统时,偶然发现一个下拉组件选择无效,于是看一下前端页面的代码。
前端页面是基于ant Design vue组件开发,JS代码如下,主要用于获取当前登录用户所属的组织机构列表和默认的组织机构
  1. //获取用户信息
  2. const userInfo = tool.data.get('USER_INFO')
  3. //获取用户归属的组织机构列表(有多个)
  4. const orgs = userInfo.orgs   
  5. //获取默认的组织机构
  6. let myOrgId = userInfo.orgs && userInfo.orgs.length ? userInfo.orgs[0].orgId : 0
复制代码
下面是下拉选择的控件代码,用于选择当前登录帐号关联的部门列表
  1.                         
  2.                     </a-form-item>
复制代码
当前登录帐号有2个部门可以选择,但是选择后,选中的部门没有变化,还是原来的值。
看上面的代码,没有看出哪里有问题,于是就很奇怪,用change事件记录了一下选择是否有变化,发现change事件传的value是有变化的,但是变量myOrgId是没有变化的。以前也遇到过这个问题,但是原因是绑定值的变量类型与选项列表的值的变量类型不一致的问题。
这次看了一下代码,我发现,这里定义变量没有使用ref()不是引用类型的,于是将定义变量代码改为以下代码
  1. let myOrgId = ref(userInfo.orgs && userInfo.orgs.length ? userInfo.orgs[0].orgId : 0)
复制代码
变量定义的代码改了之后,发现问题解决了。后面使用myOrgId变量时,需要使用myOrgId.value获取值。
总结一下,选择无效的原因可能有两个
1、绑定值的变量类型与选项列表的值的变量类型不一致。
2、值类型变量定义时没有使用ref()来定义。
问题解决了,在此记录一下。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

昨天 16:20

举报

您需要登录后才可以回帖 登录 | 立即注册