V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
燧炻创新 | Fyde Innovations 多岗位招聘
十年老牌小而美科技公司多岗位招聘,北京/青岛
Promoted by also1412
insanny
V2EX  ›  Angular

关于外部 js 修改 dx-select-box 的值的可行性

  •  
  •   insanny · 16 天前 · 799 次点击
    请问对于 devExtreme 中的 dx-select-box ,有没有方法通过外部 js (如浏览器的控制台、浏览器插件等)直接修改它的 value ?目前了解到的方案都是
    const selectBoxElement = document.querySelector('.dx-selectbox');
    const dxSelectBoxInstance = $(selectBoxElement).data('dxSelectBox');
    dxSelectBoxInstance.option('value', 'YourDesiredValue');
    然而我在目标网站上 dxSelectBoxInstance 返回的是 Null
    并且 ng.getComponent 也用不了,probe 返回的也是空,页面上的 html 元素直接显示的就是<dx-select-box>,并不是<div class='dx-selectbox'>
    3 条回复    2025-07-14 19:51:00 +08:00
    nzbin
        1
    nzbin  
       16 天前
    用框架是不建议直接操作 dom 的,好奇是什么场景必须用这种方式。<dx-select-box> 实例和 dom 元素没有关系,除非组件库给出 api ,否则肯定拿不到
    nzbin
        2
    nzbin  
       16 天前
    换个思路,<dx-select-box #dxSelectBoxInstance>,可以在组件里面获取实例,然后把实例赋值到 window 上面,比如 window.dxSelectBoxInstance = dxSelectBoxInstance ,这样就能用 js 操作了
    insanny
        3
    insanny  
    OP
       16 天前
    @nzbin 感谢回复,场景就是要做一个自动化工具去填很多表单。用模拟事件的方式效率比较一般,就想着直接用 js 去触发把 value 填上去,但是试了大半天也没找到很好的办法
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:21 · PVG 20:21 · LAX 05:21 · JFK 08:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.